zoukankan      html  css  js  c++  java
  • MVC4 Model ControllerDescriptor

    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

  • 相关阅读:
    101. Symmetric Tree
    mfc实现对话框全屏置顶显示
    qq截图原理
    给对话框添加颜色
    mfc设置半透明对话框
    API介绍
    列表控件学习1
    VC++、MFC
    vs2010 产品密钥
    VS2008 视图资源.rc无法加载的问题及解决方法
  • 原文地址:https://www.cnblogs.com/dragon-L/p/5246686.html
Copyright © 2011-2022 走看看