ASP.NET MVC 学习
一、 学习MVC基础
MVC的三个字母分别代表什么意思?
M—Model(模型)、V—View(视图)、C—Controller(控制器)
VS2010 中建立MVC应用程序会自动生成哪些文件夹?
Controllers – 放置Controller 类,处理URL 请求。
Models – 放置业务实体类,表示和操作数据。
Views – 放置UI 模板文件,负责展示输出结果。
Scripts – 放置Javascript 类库文件和.js 文件。
Contents – 放置CSS 和图像文件,以及其他非动态的、非Javascript 文件。
App_Data – 放置数据库文件。
Asp.net 的2种开发模式:代码后置,代码内嵌
ASP.NET Web开发模式
第一种: ASP.NET Web Forms,特点:
由.aspx页面和.aspx.cs后台代码组成
HTML接口与业务逻辑分开
丰富的服务器控件,加速了开发速度
数据绑定技术
基于事件的程序模型
用户控件和第三方控件技术
第二种:ASP.NET MVC
Model:访问数据库,装载数据、处理业务逻辑。在项目中体现为数据实体类加业务代理类。
View:显示数据,用户界面。在项目中体现为aspx页面,偶尔可以加上code-behind。
Controller:按路由规则将请求的数据传送给指定页面用于显示;也可以把用户输入的数据传递给逻辑处理类。它可以包含简单的验证逻辑。不应包含数据访问逻辑。
路由(Routing)
什么是URL Routing?
所谓URL Routing(URL路由),指的是在Web中,URL不再是文件目录中的一个文件,而是一个说明有关URL路由的字符串,开发者可以自定义该字符串的格式。
为什么要使用URL Routing?
主要目的:URL更加的友好,方便web使用者理解相关页面的功能。至于其它目的嘛,这个就太广了,甚至可以在使用中慢慢挖掘它的用处。
自定义路由:放在默认路由之前
路由解析的工作机制分析
路由解析是按照一定的管道进行的,路由解析的管道图如下所示:
Web应用程序MVC化的优点有:
对复杂的程序管理更方便
在开发上有更高的可控性
Routing使软件设计有更多灵活性
更加适合测试驱动开发
团队开发项目中有更高的可控性
MVC运行原理
MVC模式的工作过程是这样的:
注意:自己定义的路由必须放在默认路由前面
二、 MVC 作用
Controller的作用:
Controller负责将获取Model数据并将Model传递给View对象.通知View对象显示
Controller对象的职责是传递数据,获取View对象
Action的作用
ActionResult类包括ExecuteResult方法, 当ActionResult对象返回后会执行此方法.
传递Model给View时两种方式:强类型、弱类型
使用Model输出页面几种方式:
使用内嵌代码
使用服务器控件(不推荐)
使用 HTML Helper 类生成HTML控件、自定义
ASP.NET MVC中的Controller和Action
在ASP.NET MVC中, 一个Controller可以包含多个Action. 每一个Action都是一个方法, 返回一个ActionResult实例.
ActionResult类包括ExecuteResult方法, 当ActionResult对象返回后会执行此方法.
View对象的作用是显示
ViewData 的生命周期是由。Aspx页面决定的
TempData 的生命周期是有Controller决定的。