MVC3整体架构如其简称,分别代表:
二、处理用户请求:(Controller)
③.net调用Controller里对应的ActinoMethod()方法;
④运行开发者写的ActionMethod()里的代码,完成从Module里得到需要的数据,并传向对应的View中的任务;返回ActinoResult类型的结果;
三、向用户展现结果:(View)
⑤.net调用 ActinoResult里的ExecuteResult方法,开始索取对应的View;
⑥.net通过某种ViewEngine,把开发者写的View代码(aspx或者.cshtml)转换为对应位置和名字的C#类(仅在服务器第一次接收到请求后执行),并定位到该类
⑦.net生成该类的实例,调用类里的方法(开发者的View代码 被转换成C#语句),动态生成html页面,显示给用户;
由此可知,从接受到用户的请求,到最终向用户浏览器中渲染出html页面所需要的工作绝对不仅仅是M V C三个方面,但绝大多数情况下,开发者所需要处理的工作仅仅在这三个方面以及完成相关的配置工作:
系统启动时的相关配置工作;
路由系统映射的建立;
Module中数据及基本操作的建立;
Controller的建立:在Acton中实现由对应的url到 完成向对应View里传入数据的整个过程;
View的建立:完成数据的显示样式;
Modules:整个网站中需要用来映射实体或逻辑需要的数据的类。包括Domain Module和View Module。前者是整个网站的基础数据,可理解为数据库中,映射表的实体;后者则仅仅是用来方便Controller向View传递数据的相关类。注意还包括对这些数据的基本操作;
Views:用来向用户显示信息的类(被相关引擎转换后为C#代码,View仅仅涉及数据的显示)
Controllers:用来处理浏览器的请求,从Module中得到所需要的数据,选定合适的View,将数据传递给对应的View
更完整的处理流程由MVC .net完成,主要分为以下几个流程:
一、系统启动:
.net载入clr运行时,通过 MvcApplication 类 里的 Application_Start()方法启动系统,完成相关启动配置任务
二、处理用户请求:(Controller)
①路由系统通过用户请求的地址及参数信息,映射到Controller里的某个ActionMethod();
②.net生成Controller的实例,传入请求信息及路由信息;
③.net调用Controller里对应的ActinoMethod()方法;
④运行开发者写的ActionMethod()里的代码,完成从Module里得到需要的数据,并传向对应的View中的任务;返回ActinoResult类型的结果;
三、向用户展现结果:(View)
⑤.net调用 ActinoResult里的ExecuteResult方法,开始索取对应的View;
⑥.net通过某种ViewEngine,把开发者写的View代码(aspx或者.cshtml)转换为对应位置和名字的C#类(仅在服务器第一次接收到请求后执行),并定位到该类
⑦.net生成该类的实例,调用类里的方法(开发者的View代码 被转换成C#语句),动态生成html页面,显示给用户;
由此可知,从接受到用户的请求,到最终向用户浏览器中渲染出html页面所需要的工作绝对不仅仅是M V C三个方面,但绝大多数情况下,开发者所需要处理的工作仅仅在这三个方面以及完成相关的配置工作:
系统启动时的相关配置工作;
路由系统映射的建立;
Module中数据及基本操作的建立;
Controller的建立:在Acton中实现由对应的url到 完成向对应View里传入数据的整个过程;
View的建立:完成数据的显示样式;