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 标签时,将报如下错误:
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 笔记的更多相关文章
- ASP.NET MVC学习笔记-----Filter2
ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...
- ASP.NET MVC学习笔记-----Filter
ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...
- ASP.NET MVC学习笔记-----Filter(2)
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 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 ...
- 【MVC5】ASP.NET MVC 项目笔记汇总
ASP.NET MVC 5 + EntityFramework 6 + MySql 先写下列表,之后慢慢补上~ 对MySql数据库使用EntityFramework 使用域用户登录+记住我 画面多按钮 ...
- 【转】ASP.NET MVC学习笔记-Controller的ActionResult
1. 返回ViewResult public ActionResult Index() { ViewData["Message"] = "Welcome ...
- ASP.NET MVC学习笔记-----使用自定义的View Engine
我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View ...
- ASP.NET MVC学习笔记-----ActionInvoker
还是这张图: 当ControllerFactory生成Controller实例后,这时就需要使用ActionInvoker来选择调用一个合适的Action执行.ASP.NET MVC提供的基类Cont ...
- ASP.NET MVC 学习笔记(1)
从头开始系统地学习ASP.NET MVC 为什么要学习ASP.NET MVC?原因很多,可以先来看一下最早的ASP.NET WebForm的一些缺点: 传说中面试经常要问到的ASP.NET WebFo ...
随机推荐
- iptables(1)
iptables配置文件:/etc/sysconfig/iptables 确认开启路由转发功能方法1:/sbin/sysctl -w net.ipv4.ip_forward=1方法2:echo 1 & ...
- docker-compose.yml(3)
ELK:version: '2' services: elasticsearch: build: context: elasticsearch/ volumes: - ./elasticsearch/ ...
- [BJOI2012]最多的方案(记忆化搜索)
第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的和的形式. ...
- A1130. Infix Expression
Given a syntax tree (binary), you are supposed to output the corresponding infix expression, with pa ...
- Flask block继承和include包含
继承(Block)的本质是代码替换,继承我认为就是把完整的html文件继承到一个不完整的html文件里. 被继承html文件: <!DOCTYPE html> <html lang= ...
- 【洛谷P1059 明明的随机数】
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着 ...
- 1.Ubuntu系统与vmware虚拟机的安装与使用
1.下载Ubuntu的镜像文件 种子文件的下载页面的链接:https://www.ubuntu.com/download/alternative-downloads 可以去选择版本的桌面版(Deskt ...
- 2018 ACM 网络选拔赛 青岛赛区
一些题目的代码被网站吞了…… Problem B. Red Black Tree http://acm.zju.edu.cn/onlinejudge/searchProblem.do?contestI ...
- Traffic Management Gym - 101875G
题意: 有n辆车,在一条直线上运动,给定位置和速度.如果后车追上前车,则后车不会超车,而已变成前车的速度前进,问最后一次上述车速变化发生在何时. 思路: 假设有一下车辆,数字代表移动速度,具体位置未知 ...
- 不通过百川打开淘宝app
private void openTaobao(String url){ if (isAppInstalled(this, "com.taobao.taobao")) { //这行 ...