023-动作方法选定器

      当通过ActionInvoker选定Controller内的公开方法时,ASP.NET还提供一个名为“动作方法选择器”的特性,以便ActionInvoker选择适当的Action。     

1.NonAction特性

      如果将NonAction特性应用在Controller中的Action对应方法上,则ActionInvoker将不会选定这个Action来运行。这个特性的主要用途是用来保护Controller中的特定公开方法不要发布到Web上,或是功能尚未开发完成就要进行部署,暂时不想将此方法删除,就可以套用这个特性不要对外公开。

[NonAction]
public ActionResult Index()
{
    return View();
}

      将Action方法的public更改成private,也可以达到完全相同的目的:

private ActionResult Index()
{
    return View();
}

2.HTTP动词限定特性

    动作方法选定器还有HttpGet、HttpPost、HttpDelete、HttpPut、HttpHead、HttpOptions、HttpPatch特性。

(1)HttpGet

      如果在Action上应用HttpGet特性,则代表只有当客户端浏览器发送HTTP GET请求时,ActionInvoker才会选择此动作。

[HttpGet]
public ActionResult Index()
{
    return View();
}

(2)HttpPost

      如果在Action上应用HttpPost特性,则代表只有当客户端浏览器发送HTTP Post请求时,ActionInvoker才会选择此动作。

      相反的,如果你的动作方法上面都没有套用这些动作限定特性的话,不管客户端浏览器发送任意HTTP动词都会自动选定到对应的Action。

      这些特性最常用在需要接收窗体信息的时候, 你可以创建两个同名的Action,一个套用HttpGet特性,以显示窗体HTML,另一个套用HttpPost,以接收窗体输出的值。

 

posted @ 2015-10-29 12:56  RunningYY  阅读(366)  评论(0编辑  收藏  举报