Может ли страница просмотра asp.net mvc иметь элемент управления webform? - PullRequest
4 голосов
/ 02 октября 2009

Может ли страница просмотра asp.net mvc иметь элемент управления веб-формы?

Я думаю, что читал об этом раньше, но я не уверен, как это будет работать, поскольку MVC не использует viewstate и т. Д.?

Ответы [ 4 ]

6 голосов
/ 02 октября 2009

Может, но Viewstate недоступно. Таким образом, если элемент управления зависит от состояния просмотра, он может работать неправильно.

Кроме того, события будут недоступны.

1 голос
/ 02 октября 2009

Не забывайте, что MVC реализует REST, поэтому ViewState теперь в значительной степени устарел, если вы не реализуете его сами, используя, скажем, скрытые поля.

Единственное, для чего были хороши элементы управления WebForm, был Ajax IMHO.

Если вы замените элементы управления WebForm частичными представлениями, классами WebControl и плагинами jQuery, вы сможете добиться того же.

В настоящее время я склоняюсь к написанию своих собственных WebControls и jQueryPlugins и ссылкам на них в PartialViews.

В настоящее время доступно множество плагинов jQuery, которые выполняют практически все действия, выполняемые элементами управления WebForm.

1 голос
/ 02 октября 2009

Что я точно знаю, так это то, что любой элемент управления, который реализует IPostBackEventHandler или IPostBackDataHandler, завершится сбоем автоматически - они сгенерируют исключение, сообщающее, что вам нужен <form runat="server">

Тем не менее, вам следует избегать использования серверных элементов управления ASP.NET WebForms в ваших приложениях MVC.

0 голосов
/ 02 октября 2009

Не большинство веб-элементов управления, поскольку они зависят от ControlState и, в некоторых случаях, ViewState. Третьи стороны, такие как Telerik, адаптируют свои элементы управления, чтобы обойти это, однако долгосрочная цель состоит в том, чтобы люди создавали новые элементы управления, которые в большей степени основаны на таких стандартах, как JavaScript, jQuery, JSON и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...