Может ли действие контроллера использоваться как для обычного веб-запроса, так и для вызова AJAX? - PullRequest
1 голос
/ 24 декабря 2009

Может ли действие контроллера использоваться как для обычного веб-запроса, так и для вызова ajax?

Для обычного веб-запроса действие будет выполняться в коллекции форм, связывать категорию со статьей и затем перенаправлять на другую страницу.

для ajax-запроса, он связывает категорию со статьей, но вместо перенаправления отправляет ответное сообщение.

это хорошая практика или я должен просто создать 2 действия?

Ответы [ 4 ]

1 голос
/ 24 декабря 2009

Мой предпочтительный метод для этого

public ActionResult UpdateJS(int id)
{
   var retVal = Update(id);
   return View("UpdateJS", retVal);    
}

public ActionResult UpdateReg(int id)
{
   var retVal = Update(id);
   return View("UpdateReg", retVal);
}

public object Update(int id)
{
   //Do something here
   return id;
}
1 голос
/ 24 декабря 2009

Создайте два Действия, которые оба используют один и тот же метод для бизнес-логики. Кто бы ни поддерживал это, поблагодарит вас.

0 голосов
/ 24 декабря 2009

Хорошая практика - всякий раз, когда действие записи для ajax не отвечает ни для одного пользователя, поддерживающего JS, поэтому каждое действие ajax должно контролировать, является ли запрос от ajax или обычным запросом, который может обрабатывать оба.

0 голосов
/ 24 декабря 2009

Я думаю, что лучше разделить действия и повторно использовать как можно больше кода, используя закрытые методы в вашем контроллере.

Я почти уверен, что можно обнаружить вызов ajax, но это как бы вредит принципу единственной ответственности.

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