MVC 之 属性详解

一、System
  [AttributeUsage]:指定另一特性类的用法。无法继承此类。

  [CLSCompliant]:指示程序元素是否符合公共语言规范 (CLS)。无法继承此类。

  [ContextStatic]:封装有关与指定的 RouteBaseControllerBase 实例匹配的 HTTP 请求的信息。 

  [Flags]:指示可以将枚举作为位域(即一组标志)处理。

  [LoaderOptimization]:用于设置可执行应用程序的主方法的默认加载程序优化策略。

  [MTAThread]:指示应用程序的 COM 线程模型为多线程单元 (MTA)。

  [NonSerialized]:指示可序列化类的某个字段不应被序列化,无法继承此类。

  [Obsolete]:标记不再使用的程序元素。无法继承此类。

  [ParamArray]:指示方法在调用中将允许参数的数目可变。此类不能被继承。

  [Serializable]:指示一个类可以序列化,无法继承此类。

  [STAThread]:指示应用程序的 COM 线程模型是单线程单元(STA)。

  [ThreadStatic]:指示静态字段的值对于每个线程都是唯一的。

二、System.Web

  [AspNetHostingPermission]:允许对使用声明安全性应用到代码中的 System.Web.AspNetHostingPermission 进行安全操作。无法继承此类。

  [PreApplicationStartMethod]:提供对应用程序启动的扩展支持。

三、System.Web.Mvc 命名空间

  1、MVC 4.0

  [AcceptVerbs]:该特性指定操作方法将响应的 HTTP 谓词。

  [ActionName]:表示一个用于操作的名称的特性。

  [AdditionalMetadata]:提供一个类,该类实现 IMetadataAware 接口以支持其他元数据

  [AllowAnonymous]:该特性用于标记在授权期间要跳过 AuthorizeAttribute 的控制器和操作。

  [AllowHtml]:通过跳过属性的请求验证,允许请求在模型绑定过程中包含 HTML 标记。 (强烈建议应用程序显式检查所有禁用请求验证的模型,以防止脚本攻击。)

  [AsyncTimeout]:该特性用于设置异步方法的超时值(以毫秒为单位)。   

  [Authorize]:该特性用于限制调用方对操作方法的访问。

  [Bind]:该特性用于提供有关应如何进行模型绑定到参数的详细信息。

  [ChildActionOnly]:该特性用于指示操作方法只应作为子操作进行调用。

  [Compare]:提供用于比较某个模型的两个属性的特性。

  [HandleError]:处理由操作方法引起的异常。

  [HiddenInput]:用于指示是否应将属性值或字段值呈现为隐藏的 input 元素。

  [HttpDelete]:该特性用于限制操作方法,以便该方法仅处理 HTTP DELETE 请求。

  [HttpGet]:该特性用于限制操作方法,以便该方法仅处理 HTTP GET 请求。

  [HttpHead]:指定 HTTP 请求必须为 HTTP HEAD 方法。

  [HttpOptions]:该特性用于限制操作方法,使得该方法仅处理 HTTP OPTIONS 请求。

  [HttpPatch]:该特性用于限制操作方法,以便该方法仅处理 HTTP PATCH 请求。

  [HttpPost]:该特性用于限制操作方法,以便该方法仅处理 HTTP POST 请求。

  [HttpPut]:该特性用于限制操作方法,以便该方法仅处理 HTTP PUT 请求。
  [ModelBinder]:该特性用于将模型类型关联到模型-生成器类型。    

  [NoAsyncTimeout]:为 AsyncTimeoutAttribute 特性提供便利包装。

  [NonAction]:该特性用于指示控制器方法不是操作方法。

  [OutputCache]:该特性用于标记将缓存其输出的操作方法。
  [Remote]:提供使用 jQuery 验证插件远程验证程序的特性。

  [RequireHttps]:该特性用于强制通过 HTTPS 重新发送不安全的 HTTP 请求。

  [SessionState]:指定控制器的会话状态。

  [ValidateAntiForgeryToken]:阻止伪造请求。

  [ValidateInput]:该特性用于标记必须验证其输入的操作方法。

 

  2、MVC5.0

  [OverrideActionFilters]:表示与重写筛选器相关的特性。
  [OverrideAuthentication]:表示与身份验证相关的特性。
  [OverrideAuthorization]:表示与授权相关的特性。
  [OverrideExceptionFilters]: 表示与异常筛选器相关的特性。
  [OverrideResultFilters]:表示与结果筛选器相关的特性。
  [RouteArea]:定义要为此控制器中定义的所有路由设置的区域。
  [Route]:放置在某个控制器或操作上,以通过路由直接将它公开。放置在控制器上时,将适用于没有放置任何“System.Web.Mvc.RouteAttribute’s”的操作。
  [RoutePrefix]:使用应用到某个控制器中所有操作的路由前缀来批注该控制器。

posted on 2016-09-08 14:45  Now,DayBreak  阅读(819)  评论(0编辑  收藏  举报