我在用

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()接受的HttpRequestBaseHttpRequest不同(并且不相关,因此有点困惑)。我认为包装器可以解决您的问题。

关于asp.net-mvc-4 - MVC 4中的HttpContext.Current.Request.IsAjaxRequest()错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14629304/

10-11 14:03