对想开发干净的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种不同的概念:

  1. 模型部件:通常是把数据储存在数据库中;
  2. 显示部件:由控制器部件负责挑选一个恰当的显示部件来生成适当的UI.通常都是通过aspx或ascx页等来显示到浏览器。
  3. 控制器:定位恰当的“动作方法”,获取值并传递给方法,处理方法产生的异常,然后,生成显示到用户浏览器的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方法中定义,如下例所示:

 

Code

 

 

 

posted on 2008-08-13 15:23  赵亮  阅读(629)  评论(1)    收藏  举报