42 lines
1.3 KiB
C#
Raw Permalink Normal View History

2025-08-13 11:14:39 +08:00
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();
}
}
}