轻松学MVC4.0–6 MVC的执行流程
来源:互联网 发布:化妆品淘宝店铺名 编辑:程序博客网 时间:2024/06/05 16:06
1)Global.asax里,MvcApplication对象的Application_Start()事件中,调用 RouteConfig.RegisterRoutes(RouteTable.Routes); 来注册路由规则。
2)RouteConfig.RegisterRoutes()方法里,给出的默认规则为 {controller}/{action}/{id} .
a. 在有特别需要的时候,到这里来修改规则。
b. 未指明Controller默认为HomeContoller,未指定Action默认为Index, 也就是说,直接访问站点时,会默认导航到HomeController下的Index Action.
c. Action后跟的内容会被映射为名为id的参数。 比如: User/Delete/1 会匹配到 UserController的 Delete(int id) 方法。
d. Action分为[HttpGet]和[HttpPost]两种,与HTTP的GET和POST方式对应。 即直接请求的URL只会匹配[HttpGet]方法,而未注明[HttpPost]的方法即默认为[HttpGet]. Post的Action一般会有一个Model参数,MVC会自动将表单里的数据按约定的规则填充到Model实体对象里。 这个约定的规则,就是表单的Name与属性名称有个对应规则。
3)MVC负责按上述规则将执行流程导入合适的Action中,即Controller的某个方法中。
4)Action中,可以直接返回字符串,输出到浏览器, 也可以返回到ActionResult对象, 该对象指向一个View页面,并且附带了一些属性作为传递数据的容器。
ActionResult通常通过调用Controller对象的View(…)方法得到,也可以通过Redirect()方法或RedirectToAction()方法得到, 不过后面两种方法主要用于跳转到其它Controller,因为后面的方法不能传递Model对象。 Action向View传递数据,可以通过Model、ViewBag或ViewData三种容器,其中Model是强类型的,所以是最优先的方式。
5)View中,会先执行本身,再执行模板页和子页, 但是执行顺序和页面内容的输出顺序并不一致。模板中后输出的内容可以在页面中先输出的内容的前面.
在View中,需要提交数据,或跳转页面里,均会通过Route导向某个Controller的Action。 View中向Action中传递数据,其最终原理是通过http的GET和POST等方式(含AJAX的), POST方式会通过上面提到的约定规则,将表单中的数据填充到Model参数对象中。 在Action中,可以访问通过参数传递进来的Model对象,也可以访问原始的Request对象中的QueryString参数或Form集合, 当然Model对象是优先的方式。
本篇内容结束。
- 轻松学MVC4.0–6 MVC的执行流程
- 轻松学MVC4.0–6 MVC的执行流程
- 轻松学MVC4.0–1 建立MVC项目
- 轻松学MVC4.0–2 创建用户列表页面
- 轻松学MVC4.0–3 删除用户功能
- 轻松学MVC4.0–4 扩展UserProfile
- 轻松学MVC4.0–5 角色Roles
- 轻松学MVC4.0–7 View之Razor
- asp.net MVC4的执行流程
- MVC4执行流程
- MVC程序执行的流程
- Spring MVC的执行流程
- spring mvc的执行流程
- MVC4 WEB程序项目执行流程
- mvc执行流程
- spring mvc 执行流程
- spring MVC执行流程
- Spring MVC执行流程
- RAW RGB格式
- 决定个人成败的关键---自我管理能力
- 预处理
- java中价格的数字中间有逗号的处理
- HTTP协议详解
- 轻松学MVC4.0–6 MVC的执行流程
- 常用C#字符串函数大全
- 移动到指定的位置,之后旋转90度
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- linux diff详解
- osx中终端里面没有运行.bashrc的原因
- 查看是否使用了spfile的几种命令
- Goals for this Training