Событие жизненного цикла страницы mvc asp.net - PullRequest
1 голос
/ 16 июля 2011

В настоящее время мы переносим существующее веб-приложение asp.net на платформу asp.net mvc 2. Все наши страницы выполняют некоторые бизнес-функции перед загрузкой страницы или ее инициализацией. Как добиться такого же поведения в asp.net mvc

Логика, которая у нас есть в настоящее время в классе PageBase для веб-приложения, как это .. if (! Page.IsPostBack) // Presenter.PerformStartUp ()

Пожалуйста, помогите.

Спасибо SUBU

Ответы [ 3 ]

2 голосов
/ 16 июля 2011

ASP.NET MVC - это совершенно другой шаблон, чем тот, который вы могли использовать в классических веб-формах. В MVC нет событий. Нет страниц в MVC. В MVC есть понятие PostBack. В MVC нет ViewState. В MVC нет серверных элементов управления.

В MVC у вас есть контроллер, который получает запрос пользователя, манипулирует моделью и передает модель представления в представление для отображения. Хорошая отправная точка здесь: http://asp.net/mvc

Если существующее приложение, которое вы пытаетесь перенести, написано правильно, и оно в лучшем случае имеет уровень обслуживания и уровень доступа к данным, вы можете повторно использовать эти части в новом приложении ASP.NET MVC.

0 голосов
/ 16 июля 2011

Бит, который вы описали (! Postback), входит в метод действия, выполняемый в http Get.

В типичном и простом сценарии у вас будет два метода действия: один с атрибутом HttpVerbs.Get, а другой с атрибутом HttpVerbs.Post.Метод get подготавливает представление, в основном подключая модель к представлению.Затем представление отображается в браузере пользователя.Когда пользователь публикует форму, она обрабатывается вашим методом пост-действия.

В реальной жизни это часто немного сложнее, чем в jquery, AJAX, JSON.Но то, что я описал выше, в основном шаблон.Я нахожу это намного, намного, более чистым и вменяемым, чем модель asp.net.

0 голосов
/ 16 июля 2011

В asp.net mvc вы создаете методы ActionResult, украшая их атрибутами [HttpPost] и [HttpGet] (HttpGet по умолчанию), это то, что разделяет Get и Post.

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