本文对ASP.NET MVC的模型、视图和控制器做一次高级概述,换句话说,就是解释ASP.NET MVC中的"M""V""C"。阅读完本文后,你应该理解ASP.NET MVC中的各个部分是如何协同工作的,同时也应该知道ASP.NET MVC应用程序和ASP应用程序及ASP.NET Web窗体应用程序之间的不同之处了。
如下面的URL:
/Product/Details/3
这个URL被解析成下面三部分:
Controller = ProductController
Action = Details
Id = 3
注意后缀Controller跟在Controller参数的结尾,这仅仅是MVC的一个怪癖。
/Employee
这个URL被解析成下面三段:
Controller = HomeController
Action = Index
Id = ""
请求被路由到HomeController类的Index()行为。
理解控制器
控制器就是一个类,ASP.NET MVC示例应用程序在控制器文件夹下只包括了一个名叫HomeController.vb的控制器,HomeController.vb的内容如清单2所示。
清单2 HomeController.vb
Public Class HomeController
Inherits System.Web.Mvc.Controller
Function Index()
ViewData("Title") = "Home Page"
ViewData("Message") = "Welcome to ASP.NET MVC!"
Return View()
End Function
Function About()
ViewData("Title") = "About Page"
Return View()
End Function
End Class