我在用
HttpContext.Current.Request.IsAjaxRequest()
条件,以检查Application_Error方法中global.asax中的ajax请求,但出现以下错误:
下面是代码:
void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError().GetBaseException();
HttpException httpException = exception as HttpException;
string ErrorMessage = "";
ErrorMessage = "Application Level Error";
logger.Error(ErrorMessage, exception);
if (System.Web.HttpContext.Current.Request.IsAjaxRequest()) //if its an ajax do not redirect
{
return;
}
else
{
Server.ClearError();
this.Response.RedirectToRoute("Default", new { controller = "Home", action = "Error" });
}
}
最佳答案
猜猜它奏效了...发布为答案。
尝试
new HttpRequestWrapper(System.Web.HttpContext.Current.Request).IsAjaxRequest()
IsAjaxRequest()
接受的HttpRequestBase
与HttpRequest
不同(并且不相关,因此有点困惑)。我认为包装器可以解决您的问题。关于asp.net-mvc-4 - MVC 4中的HttpContext.Current.Request.IsAjaxRequest()错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14629304/