在八月份的时候,我还以为MVC就是和DUB相对应呢.在这次学习ITOO框架的时候,再次接触到了MVC和WCF,这次我是先学习的MVC,先把MVC理清楚了,再来理WCF.
那5个月后,再次理解MVC,发生了哪些变化呢?
我们首先来看MVC全称——Model View Controller
Model:主要与数据库打交道,是对数据库进行存取操作。
View:用来显示界面
Controller:控制用户的输入与输出
下面是我做的W3C上的一个小例子,暂时还没有涉及到数据库,也就涉及不到Model层的东西。
这次我是从程序的入口点(也就是Global.asax文件)开始进行调试,一步步查看MVC框架是如何执行的。
程序的入口点:Global.asax
在这个例子中的调用就相当于是:程序运行——Controller——View——用户——用户输入——Controller——View
一、程序运行
第一步:注册路由
public static voidRegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//对所有的axd资源进行忽略,直接进行URL访问
//添加一个路由映射
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new
{
controller ="Home",
action = "Index",
id = UrlParameter.Optional
} // 参数默认值
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
解析:MVC中的路由主要就是 匹配传入的请求,将这些请求映射到控制器操作,构造传出的URL用来响应控制器中的操作。如想了解更多关于MVC路由机制的知识,请移步到此篇博客:《MVC路由机制详解》
第二步:调转到Controller
public ActionResult Index()
{
return View();
}
第三步:显示页面(View)
_Viewstart.cshtml——要显示的页面——_Layout.cshtml
Viewstart.cshtml 其实就相当于程序的入口点一样,它是页面的一个入口点,每次显示页面都要先调用它,因为里面写的内容是:Layout母版页的地址,也就是公共的页面布局的东西。
要显示的页面:加载页面的时候,总是先调用要显示的页面,然后再去调用公共的部分,最后显示出我们想要的界面。
在viewstart和要显示的页面内容,没有什么好讲解的,如果想多了解一些关于Layout的知识,请移步到此篇博客《MVC中的layout讲解》
二、切换页面
首先调用的是Controller里面的方法,然后再是显示页面的那一套,执行顺序ViewStart——要显示的页面下的内容——Layout
总结:
以上就是MVC(无Model层)的一个简单执行过程,这也是刚刚开始接触MVC的一些理解,有理解不当的地方,望读者指出!