csharp 用于ASP.NET MVC的Ajax ActionFilter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 用于ASP.NET MVC的Ajax ActionFilter相关的知识,希望对你有一定的参考价值。

/*
** ajax request example **
$(document).ready(function() {
     jQuery.ajaxSetup({
          beforeSend: function (xhr) {
                xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
                xhr.setRequestHeader('X-Referrer', location.href);//this will do
                return xhr;
          }
     });
});

*/

[AjaxDetection]
public abstract class SomeController : Controller
{
   public bool IsAjaxRequest { get; set; }
   public string Referrer { get; set; }
}

public class AjaxDetection : ActionFilterAttribute  
{  
    public override void OnActionExecuting(ActionExecutingContext filterContext)  
    {   
        var xController = filterContext.Controller as xController;
        if (xController != null)
        {
            if (filterContext.HttpContext.Request.Headers["X-Requested-With"] != null
                && filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest")
            {
                xController.IsAjaxRequest = true;
                xController.Referrer=filterContext.HttpContext.Request.Headers["X-Referrer"]
            }
            else
            {
                xController.IsAjaxRequest = false;
            }
        }
    }
}

以上是关于csharp 用于ASP.NET MVC的Ajax ActionFilter的主要内容,如果未能解决你的问题,请参考以下文章

ValidateAntiforgeryToken 不适用于 ASP.NET MVC 中的 Ajax

用于 ASP.NET MVC 3 的 jquery ajax 表单

csharp ASP.NET MVC ActionFilter允许或拒绝具有可选子网掩码的IPv4地址。用于AppHarbor或任何其他服务器解决方案

Asp.Net MVC 5 Jquery 验证不适用于带有提交事件的 ajax 帖子,显示为有效表单

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

csharp ASP.NET的助手,ASP.NET MVC应用服务器端测试