MVC 基本概念
模型(Model):需要被显示的数据,如数据库NorthWind中的表Products对象就是一个模型
视图(View):用来显示模型中数据的用户界面,一般,视图就是HTML页面
控制器(Controller):用来处理用户请求,将适当的视图的对应模型数据呈现给用户
MVC中用户请求页面的5个步骤
1.用户输入浏览地址,发出页面请求
2.控制器接收用户请求,向模型请求相关数据
3.模型将对应数据返回控制器
4.控制器将数据发送到指定视图
5.指定视图呈现数据,用户请求完成
注:MVC中,每一个请求的页面被映射到相应控制器中的相关方法(Action),并非直接请求具体在页面地址,控制器负责将制定内容返回浏览器。
MVC框架约定的目录结构
1.Models文件夹:存放模型组件(数据库3层:model,bll,dal)
2.Views文件夹:存放视图组件(.aspx页面,.ascx控件,目标页)
3.Controllers文件夹:存放控制器组件,控制器命名约定使用XXXController方式
注:存在一个控制器HomeController那么在Views文件中,就必须创建一个Home目录,这样MVC框架通过控制器HomeController加载相关视图,就会自动寻找Views/Home目录下的相关.aspx页面呈现(这与Global.asax.cs中设置的默认路由规则有关)
路径表(Route Table)
MVC中,页面到控制器的映射通过路径表实现,RouteTabel.Routes属性表示。
URL路由
MVC中,URL不再是文件目录中的一个文件,而是一个说明有关URL路由的字符串,开发者可自定义URL格式。URL路由是独立于MVC的一个功能,存在于System.Web.Routing命名空间中。
URL路由映射
当一个URL被请求,MVC框架先用UrlRoutingModule解析该URL,后通过MvcHandler对象,选择控制器(Controller)中相关方法(Action)处理用户请求。