42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using System;
|
||
using System.Web.Mvc;
|
||
|
||
namespace Learun.Application.Web
|
||
{
|
||
/// <summary>
|
||
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
|
||
/// Copyright (c) 2013-2018 Hexagon PPM
|
||
/// 创建人:研发部
|
||
/// 日 期:2017.03.08
|
||
/// 描 述:仅允许Ajax操作
|
||
/// </summary>
|
||
[AttributeUsage(AttributeTargets.Method)]
|
||
public class AjaxOnlyAttribute : ActionMethodSelectorAttribute
|
||
{
|
||
/// <summary>
|
||
/// 初始化仅允许Ajax操作
|
||
/// </summary>
|
||
/// <param name="ignore">跳过Ajax检测</param>
|
||
public AjaxOnlyAttribute(bool ignore = false)
|
||
{
|
||
Ignore = ignore;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 跳过Ajax检测
|
||
/// </summary>
|
||
public bool Ignore { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证请求有效性
|
||
/// </summary>
|
||
/// <param name="controllerContext">控制器上下文</param>
|
||
/// <param name="methodInfo">方法</param>
|
||
public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
|
||
{
|
||
if (Ignore)
|
||
return true;
|
||
return controllerContext.RequestContext.HttpContext.Request.IsAjaxRequest();
|
||
}
|
||
}
|
||
} |