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 标签时,将报如下错误:

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

ASP.NET MVC 5 笔记的更多相关文章

  1. ASP.NET MVC学习笔记-----Filter2

    ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...

  2. ASP.NET MVC学习笔记-----Filter

    ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...

  3. ASP.NET MVC学习笔记-----Filter(2)

    接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...

  4. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  5. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  6. 【MVC5】ASP.NET MVC 项目笔记汇总

    ASP.NET MVC 5 + EntityFramework 6 + MySql 先写下列表,之后慢慢补上~ 对MySql数据库使用EntityFramework 使用域用户登录+记住我 画面多按钮 ...

  7. 【转】ASP.NET MVC学习笔记-Controller的ActionResult

    1. 返回ViewResult public ActionResult Index()   {       ViewData["Message"] = "Welcome ...

  8. ASP.NET MVC学习笔记-----使用自定义的View Engine

    我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View ...

  9. ASP.NET MVC学习笔记-----ActionInvoker

    还是这张图: 当ControllerFactory生成Controller实例后,这时就需要使用ActionInvoker来选择调用一个合适的Action执行.ASP.NET MVC提供的基类Cont ...

  10. ASP.NET MVC 学习笔记(1)

    从头开始系统地学习ASP.NET MVC 为什么要学习ASP.NET MVC?原因很多,可以先来看一下最早的ASP.NET WebForm的一些缺点: 传说中面试经常要问到的ASP.NET WebFo ...

随机推荐

  1. 【转】C++ const 关键字总结

    const是一个C++语言的限定符,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一 ...

  2. JS分页条插件

    目标 制作js分页导航jq插件,用于无刷新分页或者刷新分页 实现目标参考京东和天猫的分页条. 有四个固定按钮,前页码,后页码,首页,末页. 程序关键点在于计算中间页面的起止位置.逻辑是以当前页码为参照 ...

  3. noiac26 T1 (并查集)

    考虑计算每个位置的数作为最小值时有多少种情况 方便起见,以位置为第二关键字比较大小,这样就不会出现“相同的”数 可以方便地计算出以i位置为最小值的区间端点的可行位置:[A,i],[i,B] 这是我选的 ...

  4. Servlet -- 中文乱码解决

    请求:对于get和post都有效果 request.setCharacterEncoding("UTF-8"); 相应: 设置服务器输出的编码为UTF-8 response.set ...

  5. Transactional ejb 事务陷阱

    对应ejb,默认是对整个类使用事务.所以所有方法都开启事务. 而对于用TransactionAttribute注释来引用容器管理的事务,只能在第一级的方法中使用.对应类中的方法再调用其它类中方法,注释 ...

  6. java 遍历方法 及 数组,ArrayList,HashMap,HashSet的遍历

    一,遍历方法的实现原理 1.传统的for循环遍历,基于计数器的: 遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当读取到最后一个元素后,停止.主要就是需要按元素的位置来读取元素. ...

  7. Arch Linux下Visual Stdio Code在格式化C代码时报错

    libtinfo.so.5: cannot open shared object file: No such file or directory Arch Linux下Visual Stdio Cod ...

  8. UOJ176 新年的繁荣

    题目链接 Boruvka生成树算法 \(Boruvka\)算法就是先把每个点看作一个联通块,然后不断在联通块之间找最优的边进行合并.因为每次联通块的数量最少缩小一半.所以合并次数是\(log\)的 先 ...

  9. Day25--Python--re,模块(regular expression)

    一 . re 1. import re findall() 查找所有结果 finditer() 查找到的结果返回迭代器 search() 查找. 如果查找到第一个结果,就停止. 如果查找不到结果,返回 ...

  10. FFT笔记

    蝴蝶操作和Rader排序 蝴蝶操作的定义: 雷德(Rader)算法 (Gold Rader bit reversal algorithm) 按自然顺序排列的二进制数,其下面一个数总是比其上面一个数大1 ...