2013-11-25 3 views
2

С точки зрения действия, как я могу отличить запрос ajax от обычного.Как отличить запрос ajax от обычного внутри действия?

puclic class GroupController : Controller 
{ 
    public ActionResult AddGroup() 
    { 
     if(//regular request...) 
      return view() 
     else //an ajax call 
      return Partial("GroupPartialView) 
    } 
} 

Идея заключается в том, что если пользователь добавляется к группе, которая не существует, то группа может быть добавлена ​​с помощью диалогового окна, не покидая Управление страниц пользователей.

Спасибо за помощь.

ответ

7

Вы можете использовать метод IsAjaxRequest() расширения:

if(Request.IsAjaxRequest()) 
{ 
    // it's an AJAX request 
    return PartialView("GroupPartialView); 
} 
else 
{ 
    // it was normal request 
    return View(); 
} 
+0

спасибо, но сначала я использовал 'JQuery 1.11.0' и, таким образом,' Request.IsAjaxRequest() 'всегда возвращается ложью, когда смотрел на хромированном разработчике console я получил эту ошибку: 'live не является функцией' в' jquery.unobtrusive-ajax.js', как сказано [здесь] (http://stackoverflow.com/a/22180196/2218697), я использовал 'jquery 1.7.0 ', теперь он отлично работает. Но как обрабатывать несколько jquery-версий в одном и том же '_Layout'? потому что мне нужны оба jquery 1.11.0 и 1.7.0'. – stom

Смежные вопросы