asp.net-mvc - 是否有任何与 AJAX 相关的属性可以为 ASP.NET MVC Controller 操作设置?

标签 asp.net-mvc asp.net-mvc-3 attributes aop

我想在 ASP.NET MVC 中通过 AJAX 调用使用分部 View ,这是我第一次使用它。我只是搜索了一下是否有什么特殊的东西我应该事先知道,其中我很好奇的就是看看是否有任何特殊的属性应该设置或与 AJAX 调用相关?类似于 [ChildActionOnly][HttpGet]

最佳答案

我认为 ajax 没有内置属性,但您可以创建自己的 AjaxOnly 过滤器,如下所示:

public class AjaxOnlyAttribute : ActionMethodSelectorAttribute 
{
    public override bool IsValidForRequest(ControllerContext controllerContext, System.Reflection.MethodInfo methodInfo)
    {
        return controllerContext.RequestContext.HttpContext.Request.IsAjaxRequest();
    }
}

并像这样装饰你的操作方法:

[AjaxOnly]
public ActionResult AjaxMethod()
{
   
}

另请参阅:ASP.NET MVC Action Filter – Ajax Only Attribute另一种实现此方法的方法

关于asp.net-mvc - 是否有任何与 AJAX 相关的属性可以为 ASP.NET MVC Controller 操作设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6558758/

相关文章:

.net - NonSerialized 和 Xml.Serialization.XmlIgnore 之间的区别?

r - 如果对象名称在变量中,如何设置对象的特定属性?

asp.net-mvc - 我可以从 HttpContext 访问 ViewData 吗?

asp.net - ASP.NET MVC 中的 ViewBag 如何工作

html - 在 MVC 3 中将宽度设置为 Html.BeginForm()

ASP.NET MVC 3 ValidateRequest(false) 不适用于 FormCollection

c# - RegularExpression 属性 - 传入类的属性字段

javascript - 将控件标签更改为按钮以访问 Razor View 中的我的条款和条件页面

带有 StringLength 属性的尾随空格的 jQuery 验证处理

c# - 具有 List<string> 类型模型的 ASP.NET MVC DropDownListFor