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
MVC4 Model ControllerDescriptor的更多相关文章
- MVC4 Model View Controller分离成独立项目
适合人群:了解MVC项目的程序员 开发工具:vs2012 开发语言:C# 小项目或功能比较单一的项目可以直接新建一个MVC基本项目类型即可,但随着需求不断迭代,项目的功能模块越来越多,甚至有些模块可以 ...
- MVC4 Model ValueProvider
1. NameValueCollectionValueProvider: ValueProvider 的数据容器一般具有类似字典的结构.NameValueCollection 表示一种 key 和va ...
- Spring Boot笔记一
Spring Boot 入门 Spring Boot 简介 > 简化Spring应用开发的一个框架:> 整个Spring技术栈的一个大整合:> J2EE开发的一站式解决方案: 微服务 ...
- .NET MVC4 数据验证Model(二)
一.概述 MVC分为ViewModel.Control.View,对数据的封装MVC做的很好,确实是不错的WEB框架,针对MVC的ViewModel封装的也是相当的不错,最近做一个MVC的项目,采 ...
- ASP.NET MVC4 传递Model到View
原文发表在:http://www.star110.com/Note/ReadArticle/60641215331146140043.html 开发环境:.NET MVC4 + EF6.0 模型: 1 ...
- EF5&MVC4 学习1、创建新的Contoso University Application,并创建Model Class 生成对应的database
参考:http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/creating-an-entity-framewo ...
- MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates)
转载于: MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates) 虽然 [Display(Name="XX ...
- [转]ASP.NET MVC4中@model使用多个类型实例的方法
本文转自:http://blog.csdn.net/hulihui/article/details/48199897 有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NE ...
- 【MVC版本】MVC3、MVC4之MODEL验证大比拼
1.密码验证 MVC3 [System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = &quo ...
随机推荐
- C# WinForm ProgressBar垂直显示进度和从右向左显示进度
1. 尝试将ProgressBar的RightToLeft属性设置为System.Windows.Forms.RightToLeft.Yes,同时将RightToLeftLayout属性设置为true ...
- PHP 数据集循环
循环 $rs = $bbs->query("select top 10 * from tt"); while($row = $rs->fetch()) { //prin ...
- Elasticsearch 搜索引擎
简介: Elasticsearch 是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.它可以用于全文搜索,结构化搜索以及分析. 分布式实时文件存储,并将每一个字段都 ...
- ShaderLab内置变量
[ShaderLab内置变量]
- 文件操作类File
File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 FileInfo类:提供创建.复制.删除.移动和打开文件的属性和实例方法.FileInfo类 Directory类:公开用于 ...
- Canny效果
- Linux下安装Nginx详细图解教程(一)
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Django常见出错解决方案汇总-乾颐堂
一.模板类型错误: 错误原因:在models中漏掉了return: class UserProfile(models.Model): """ 功能说明: 扩 ...
- mount命令使用
mount命令是一个很常用的命令,这里介绍两个服务器上之间的挂载 1 配置NFS服务 FTP服务器提供NFS服务,开放具体路径(/home/hadoop)完全控制权限给其他板子.可以将两个板子之间建立 ...
- 手工创建Oracle数据库
数据库版本: SQL> select * from v$version; BANNER ----------------------------------------------------- ...