Respuestas:
Todas las llamadas AJAX realizadas por jQuery tendrán un encabezado agregado para indicar que es AJAX. El encabezado a verificar es X-Requested-With
, y el valor será XMLHttpRequest
cuando sea una llamada AJAX.
Tenga en cuenta que las solicitudes AJAX son GET o POST normales, por lo que, a menos que usted (o su biblioteca AJAX como jQuery) esté agregando un encabezado adicional en la solicitud, no hay forma de saber con certeza si es AJAX o no.
Request.Headers["X-Requested-With"]
o similar. Compruebe MSDN. Los encabezados siempre están relacionados con las solicitudes.
También está el Request.IsAjaxRequest
si está utilizando una versión posterior de MVC. Ya no tengo la versión 1, así que no puedo decir si está en la versión 1.
Si necesita esta verificación en Global.asax.cs, intente esto:
new HttpRequestWrapper(Request).IsAjaxRequest()
HttpRequestBase
. No he tenido la necesidad de eso, así que no miré demasiado profundamente. Gracias por el aviso.
Me funciona en ASP.NET MVC 3
if (Request.IsAjaxRequest())
{
// ajax request handled
}
new HttpRequestWrapper(Request).IsAjaxRequest()