вторник, 7 января 2014 г.

Asp.Net Mvc. Худеем контроллеры. Запросы, ч. 1

Продолжаю серию про похудание контроллеров. Ссылки на предыдущие части:

Как часто вам приходится писать подобный код?

public ActionResult Details( int feedbackId )
{
 var feedback = this.DbSession.Get<Feedback>( feedbackId );

 return View( feedback );
}

Лично у меня очень много вьюшек, которым на вход подается Id сущности, и первой строкой идет загрузка этой сущности из базы. И писать постоянно эту строчка задалбывает. Что можно сделать?

воскресенье, 5 января 2014 г.

Asp.Net Mvc. Худеем контроллеры. Обработка форм, ч. 2

Для того, чтобы понять, о чем идет речь, рекомендую ознакомиться с первой частью.
Я остановился на таком варианте кода-обработчика формы:
[HttpPost]
public ActionResult Form( FeedbackModel model )
{
 return this.FormHandler( () =>
 {
  var feedback = new Feedback
  {
   Name = model.Name,
   Text = model.Text,
   Email = model.Email
  };

  this.DbSession.Save( feedback );
  this.DbSession.Flush();
 }, RedirectToAction( "ThankYouForFeedback" ) );
}
Теперь надо вынести куда-то эту логику, не место ей в контроллере.

суббота, 4 января 2014 г.

Asp.Net Mvc. Худеем контроллеры. Обработка форм, ч. 1

Как выглядят POST-запросы? В большинстве случаев - это отправка формы на сервер с целью добавить или изменить какие-то данные. Непосредственное на сервер изменение данных обычно предваряется авторизацией и валидацией, и оканчивается отправкой какого-то ответа.
Далее типичный пример из уроков для начинающих, анализ его проблем и исправление.