Відповіді:
До всіх дзвінків AJAX, здійснених jQuery, буде доданий заголовок, який вказує, що це AJAX. Заголовок для перевірки є X-Requested-With
, і значення буде, XMLHttpRequest
коли це буде виклик AJAX.
Зауважте, що запити AJAX - це звичайні GET або POST, тому, якщо ви (або ваша бібліотека AJAX, як jQuery) додаєте в запит додатковий заголовок, немає можливості точно знати, чи це AJAX чи ні.
Request.Headers["X-Requested-With"]
або подібне. Перевірте MSDN. Заголовки завжди пов'язані із запитами.
Існує також, Request.IsAjaxRequest
якщо ви використовуєте більш пізню версію MVC. У мене вже немає версії 1, тому я не можу сказати, чи є вона у версії 1.
Якщо вам потрібен цей чек на Global.asax.cs, спробуйте це:
new HttpRequestWrapper(Request).IsAjaxRequest()
HttpRequestBase
. У мене не було потреби в цьому, тому я не заглядав занадто глибоко. Дякую за голову вгору
Він працює для мене в ASP.NET MVC 3
if (Request.IsAjaxRequest())
{
// ajax request handled
}
new HttpRequestWrapper(Request).IsAjaxRequest()