首页 > Web开发 > 详细

MVC4 Model ControllerDescriptor

时间:2016-03-06 11:25:00      阅读:284      评论:0      收藏:0      [点我收藏+]

1、 ControllerDescriptor 的描述

     Controller  的Action 方法有以下一些特性:

    1.1 ActionNameAttribute特性  他继承自 System.Web.Mvc.ActionNameSelectorAttribute 抽象类 

  ActionNameSelectorAttribute  通过 其 抽象方法 IsValidName   判断指定的Action名称是否与目标Action方法相匹配。

   如下代码片段:

     添加了 ActionNameAttribute 特性后 访问Action 就会匹配 ActionName 而不是 ActionNames 注意Aciton方法后面多了个“s”

        [ActionName("ActionName")]
        public ActionResult ActionNames()
        {
            return Json("", JsonRequestBehavior.AllowGet);
        }

     ActionNameSelectorAttribute  与ActionMethodSelectorAttribute 区别: 两者都有Action筛选的作用, 前者是针对Action名称 后者是针对 请求是否匹配

     1.2 ActionMethodSelectorAttribute 的类型有7种(:

    HttpGet,HttpPost,HttpPut,HttpDelete,HttpHead,HttpOption,HttpPatch. 如下代码片段:

     [HttpGet]
        public ActionResult HttpMethod()
        {
            return Content("ActionMethodSelectorAttribute ");
        }

 

 

 

     1.3 AcceptVerbsAttribute 特性, 其与ActionMethodSelectorAttribute 不同之处在 它可以同时匹配多个HTTP方法,如下代码片段:

    这样就可以同时使用POST 或 GET 方式请求, 如果去掉Get  就只能使用Post请求。

   [AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)]   
    public ActionResult AcceptVerbs()
    {
     return Json("", JsonRequestBehavior.AllowGet);
    }

  1.4 NonActionAttribute 特性:

   设置了 NonActionAttribute 特性的 Action 方法 在请求的时候,该方法总是被排除在候选范围之外,如下代码片段

     当添加了NonActionAttribute特性后 访问就会出现 HTTP 404。 错误

 [NonAction]
  public ActionResult NonActions()
  {
    return Content("NonActionAttribute");
   }

 

2.ActionDescriptor 

3.ParameterDescriptor

MVC4 Model ControllerDescriptor

原文:http://www.cnblogs.com/dragon-L/p/5246686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!