对想开发干净的N层结构的朋友来说,ASP.NET MVC 很强很实用。最近我一直在关注它,发现其实很容易上手。不过好像目前还没有中文手册,于是边学边翻译。为了方便懒得看E文的朋友,我把翻的东东贴在这里和大家伙分享。
先声明:
- 毕竟不是MS专业翻译,翻得不好不要打我
- 我翻译它的主要目的在过程中学习,有加入自己的理解,一些太入门、太啰嗦的话我就略掉了![]()
原文地址: http://quickstarts.asp.net/3-5-extensions/mvc/MvcFramework.aspx
MVC 框架和应用程序的结构
概要
Asp.net网站的URL往往都与磁盘上储存的文件对应(通常都是.aspx文件)。
Asp.net MVC框架(以下都简称为MVC框架) 则以一种不同的方式来映射URL. 它不是将URL映射到asp.net页面或处理器(handler),而是映射到控制器类(controller),有控制器来来处理请求,例如用户输入、交互操作,并根据用户输入做适当的处理。ASP.net MVC控制器实现的模型是一种叫做“前端控制器模式”(Front Controller pattern)的模型。 通常的做法,控制器类都会另调用一个独立的显示组件,由后者负责输出HTML内容。
这个框架包括模型、显示和控制器这3种不同的概念:
- 模型部件:通常是把数据储存在数据库中;
- 显示部件:由控制器部件负责挑选一个恰当的显示部件来生成适当的UI.通常都是通过aspx或ascx页等来显示到浏览器。
- 控制器:定位恰当的“动作方法”,获取值并传递给方法,处理方法产生的异常,然后,生成显示到用户浏览器的View. 习惯上,不同类型的部件放在项目不同的目录中。
URL映射
MVC框架使用URL映射引擎将URL映射到控制器类。MVC框架按照你定义的规则来分析URL,并定位恰当的控制器。你还可以让映射引擎分析URL,自动转换为参数,并传递给调用的控制器方法。
MVC框架与页面回发(Poseback)
MVC框架不采用Asp.net的回发机制来让客户端浏览器与服务器交互。所有操作都将被路由到控制器类。这样有助于UI和业务逻辑的分离,并便于测试。因此,以MVC为基础的视图中,没有ASP.NET的视图状态(View state)和ASP.NET页面生存周期事件(life-cycle events)。
创建ASP.NET MVC应用程序
使用VS的话,有一个VS项目模板可以帮助你创建支持MVC模式的Web应用程序。这个模板会创建所需的目录、项目模板和配置文件中所需的entry.
设置全局URL映射默认规则
在Global.asax.cs 的 Application_Start方法中定义,如下例所示:






}
}
浙公网安备 33010602011771号