Подтвердить что ты не робот

ASP.NET MVC не работает с ViewState и Postback?

Возможно, это наивный вопрос. По моему мнению, ASP.NET MVC не может работать с ViewState и Postback, который является основой форм ASP.NET. Это правильно?

Если это так, то все ASP.NET Web Controls в зависимости от ViewState и Postback не могут использоваться в ASP.NET MVC, правильно?

4b9b3361

Ответ 1

Серверные элементы управления ASP.NET работают с WebForms, а не MVC. MVC не использует элементы управления в традиционном понимании ASP.NET(по крайней мере пока).

Модель MVC сильно отличается от модели WebForms; не лучше или хуже, но очень разные. Использование MVC значительно расширяет возможности разработчика по отношению к сгенерированному HTML, позволяет более интенсивно выполнять модульное тестирование и обеспечивает сильное разделение проблем между пользовательским интерфейсом и кодом, который заполняет этот интерфейс.

На первый взгляд, особенно для закаленных ветеранов ASP.NET, MVC может показаться огромным шагом назад (если вы тогда кодировали, видения разработки ASP COM могли бы танцевать в вашей голове).

Но попробуйте MVC. Это очень интересно, и его модель довольно убедительна, как только вы привыкнете к ней.

Подробнее здесь: http://quickstarts.asp.net/previews/mvc/mvc_HowToRenderFormUsingHtmlHelpers.htm

Кроме того, ознакомьтесь с этим интересным движком блога, который использует MVC: http://www.codeplex.com/oxite

Наконец, просмотрите проект магазина Rob Conery MVC: http://wekeroad.com/category/mvc-storefront

Ответ 2

Это может вас удивить, но я случайно сбросил кнопку на MVC страницы и реализовала событие Click, и это действительно сработало!

Пожалуйста, исправьте меня, если я ошибаюсь, но я думаю, что не нужно ViewState. Он должен создать простой тег HTML, и если вы не измените свойства кнопки во время выполнения (текст, событие,...), не потребуется VIEWSTATE.

Возможно, причина в том, почему это сработало.

Ответ 3

Это может вас удивить, но я случайно сбросил кнопку на странице MVC и внедрил событие Click, и это действительно сработало!

Я был удивлен, возможно, он работает только для этого простого случая (в то время это был единственный элемент на странице), и тот факт, что ответ закончился перенаправлением, но в некоторых случаях кажется, что он может работать: )