ASP.NET MVC 5 笔记

1.   MVC 的常用特性

1)   System.Web.Mvc.ActionNameAttribute

Ø  该特性用于将当前 Action 名称,改为一个指定的 Action 名称,路由匹配时将匹配指定的 Action 名称,并匹配对应的视图名称。

Ø  Action 头部标记该特性,例如:[ActionName("NewTwo")]

 

2)   System.Web.Mvc.NonActionAttribute

Ø  该特性用于指示当前 Action 不是一个 Action 操作方法,尽管是一个正常的 Action 操作方法,路由也不能正常匹配。

Ø  Action 头部标记该特性,例如:[NonAction]

 

3)   System.Web.Mvc.AllowHtmlAttribute

1.   该特性用于指示当前属性(只能是属性)可以跳过请求验证,允许请求在模型绑定过程中包含 HTML 标记。(强烈建议应用程序显式检查所有禁用请求验证的模型,以防止脚本攻击。)

2.   未使用 AllowHtml 特性提交元素值包含 HTML 标签时,将报如下错误:

clip_image002

3.   使用 AllowHtml 在属性头部标记该特性,例如:[AllowHtml],这样就可以提交包含 HTML 标记的元素了。

 

4)   System.Web.Mvc.SessionStateAttribute

1.   Controller 头部标记该特性,例如:[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]

2.   该特性用于指定控制器的会话状态,可选值:

1)   Default:使用默认 ASP.NET 逻辑来确定请求的会话状态行为。 默认逻辑是寻找 System.Web.IHttpHandler 中是否存在标记会话状态接口。

2)   Required:为请求启用完全的读写会话状态行为。 此设置将覆盖已通过检查请求的处理程序确定的任何会话行为。

3)   ReadOnly:为请求启用只读会话状态。 这意味着会话状态无法更新。此设置将覆盖已通过检查请求的处理程序确定的任何会话状态行为。

4)   Disabled:未启用会话状态来处理请求。 此设置将覆盖已通过检查请求的处理程序确定的任何会话行为。

 

5)   System.Web.Mvc.HttpGetAttribute

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

 

6)   System.Web.Mvc.HttpPostAttribute

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

 

7)   System.Web.Mvc.HttpDeleteAttribute

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

 

8)   System.Web.Mvc.HttpPutAttribute

Ø  该特性用于限制操作方法,以便该方法仅处理 HTTP PUT 请求。

 

9)   System.Web.Mvc.HttpPatchAttribute

Ø  该特性用于限制操作方法,使得该方法仅处理 HTTP PATCH 请求。

 

10)  System.Web.Mvc.HttpOptionsAttribute

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

 

11)  System.Web.Mvc.HttpHeadAttribute

Ø  该特性用于指定 HTTP 请求必须为 HTTP HEAD 方法。

 

12)  System.Web.Mvc.ValidateAntiForgeryTokenAttribute

Ø  该特性用于阻止伪造请求的特性。

 

2.   MVC 中访问静态文件

Ø  MVC 默认情况下会将所有请求文件和路径,交给System.Web.HttpNotFoundHandle去处理,以便 Controller 统一控制。例如 View 文件夹加下的 Web.config 配置文件:

<system.webServer>

    <handlers>

      <remove name="BlockViewHandler"/>

      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />

    </handlers>

  </system.webServer>

Ø  需要访问静态文件,需要在 handlers 节点下添加一个节点,例如:

<add name="StaticFileHandler" verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/>

或者

<add name="StaticFileHandler" path="*" verb="*" type="System.Web.StaticFileHandler"/>

Ø  这样就可以以绝对路径的方式访问静态文件了。

 

3.   MVC

 

posted @ 2017-11-21 14:38  Abeam  阅读(368)  评论(0编辑  收藏  举报