using System; using System.Web.Mvc; using Lottomat.Util.Extension; namespace Lottomat.Application.Admin { /// /// 仅允许Ajax操作 /// [AttributeUsage(AttributeTargets.Method)] public class AjaxOnlyAttribute : ActionMethodSelectorAttribute { /// /// 跳过Ajax检测 /// public bool Ignore { get; set; } /// /// 初始化仅允许Ajax操作 /// /// 跳过Ajax检测 public AjaxOnlyAttribute(bool ignore = false) { this.Ignore = ignore; } /// /// 验证请求有效性 /// /// 控制器上下文 /// 方法 public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo) { if (Ignore) return true; return controllerContext.RequestContext.HttpContext.Request.IsAjaxRequest(); } } }