Asp.Net MVC HttpPost用法

tangyanzhi1111發表於2018-02-02

Asp.Net MVC HttpPost用法

          一個Action只能用一個http 特性,例如:HttpPost 不能與HttpGet 或者多個HttpPost重複使用,否則會出錯

          也可以用 [AcceptVerbs("put","get","post")]來表示一個Action可以共用多個請求。只要是包含了這個請求的,都可以呼叫此Action

          HttpPost 等可以和 AcceptVerbs 特性共用 

         

         比如:

             

[HttpPost]

[AcceptVerbs("put","get","post")]

public ActionResult Index()

{

return View();

}

         這樣是可以的,但實際上他只是當Post提交的時候才進入此Action(或者此Action才能被呼叫)

         把[AcceptVerbs("put","get","post")]改成: [AcceptVerbs(HttpVerbs.Post)]與[HtppPost]共用也是可以的實際上效果一樣

 

          自定義Http特性:

public class ZiDingYiAttribute : ActionMethodSelectorAttribute

{

private static readonly AcceptVerbsAttribute _innerAttribute = new AcceptVerbsAttribute(HttpVerbs.Post);

public ZiDingYiAttribute()

{

}

public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)

{

return _innerAttribute.IsValidForRequest(controllerContext, methodInfo);

}

}

            使用:

 

                              

[ZiDingYi]

public ActionResult Index()

{

return View();

}

               

           這樣就可以自定義一個Http特性

          

 

posted @ 2018-02-02 18:26 破帽遮顏過鬧市 閱讀(...) 評論(...) 編輯 收藏

相關文章