Asp.net-Mvc

是否為 ASP.NET MVC 控制器操作設置與 AJAX 相關的任何屬性?

  • July 2, 2011

我想在 ASP.NET MVC 中使用帶有 AJAX 呼叫的部分視圖,這是我第一次使用它。我只是搜尋了一下是否有什麼特別的東西我應該事先知道,其中一個我很好奇的是,看看是否有任何特殊的屬性應該設置或與 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 動作過濾器 – Ajax Only Attribute了解另一種實現方式

引用自:https://stackoverflow.com/questions/6558758