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();
}
}
}