how to know if the request is ajax in asp.net mvc?
There's also the Request.IsAjaxRequest
if you're using a later version of MVC. I don't have version 1 anymore so I can't say if it's in version 1.
If you need this check in Global.asax.cs try this:
new HttpRequestWrapper(Request).IsAjaxRequest()
All AJAX calls made by jQuery will have a header added to indicate it is AJAX. The header to check is X-Requested-With
, and the value will be XMLHttpRequest
when it is an AJAX call.
Note that AJAX requests are normal GETs or POSTs, so unless you (or your AJAX library like jQuery) are adding an additional header in the request, there is no way to know for certain whether it is AJAX or not.
It works for me in ASP.NET MVC 3
if (Request.IsAjaxRequest())
{
// ajax request handled
}