背景
最近在项目中使用到了mvc框架,其实以前就一直在使用,但是对于他的核心内容一直没有了解,一探究竟,发现有很多地方都没有了解的太到位,
mvc为什么火
在mvc前面其实有两个框架,一个是webform框架,最前期的时候我们是利用的webform,刚开始的webform发展还可以,但是当遇到大型项目的时候会发现webfrom的框架非常的混乱,不容器进行代码管理,所以这个时候mvc框架就出来了,他很好的将界面与业务处理进行分开,利于开发和维护,我们的牛腩发布系统就是使用的是webform的框架,而我们的这次项目使用的是mvc框架,会很好的体现它的优势
请求过程
mvc中asp.net http请求的时候前期需要做的步骤,在开始的时候我们还没有到我们的httpHandler,而是首先到我们的进程,然后通过管道进入我们httpRuntime的处理中心,只有进行到这里我们才可以走进需要我们控制器或者返回给浏览器
进去之后直接到一个容器里面,它包含的也就是我们的核心机制
Router是在被我们HttpModule使用的,而controller和action是被HttpHandler部分被使用
Controll
controll的作用最主要就是用来控制和传输。
- 1动作方法(Action Method):一个控制器的行为会被分解成多个方法,每个方法都是由不同url,并且通过输入请求还有参数返回不同的结果
- 2动作结果(Action Result):返回一个描述动作结果的对象,
- 3过滤器:把重复的行为通过过滤器来实现特定的方式
控制器接受我前台传过的数据
1上下文对象提取
2作为参数传递给动作方法形成数据
3明确调用框架的模型绑定(Model Binding)
view辅助方法
view()返回到Action同名的视图
public ActionResult Index()
{
return View("AddAnnounce");
}
view(”viewname”,”layout”)呈现视图的时候换位母版页
通过url找到我们的控制器
总结
下一篇总结控制器HttpModule,这一篇是宏观的总结。