初创ASP.NET 3.5 MVC应用项目

约定目录结构

App_Data 数据库文件
Content 静态文件、样式、图片
Scripts Javascript
Model 数据访问层,对象的定义
Views .aspx、.ascx、.master
Shared 该目录不属于单个控制器,而是属于所有的控制器,存放母板页、CSS样式表
Controllers 存放控制器,控制器命名约定XXXController的方式

        另外需要说明的是,在ASP.NET 3.5 MVC框架空,使用Global.asax文件中的后置代码Appliction_Start()方法中设置了Url路由,以及相关的路由逻辑。

@9}4Z9RR7EJI%R)7JJ`3Y~I

     定义了两个URL路由,第八行定义了可以忽略的路由配置,也就是说,不需要路由处理程序去处理这些路由,而第十则配置了一个默认的路由。

在配置文件Web.config注册专门的HTTP模块,在httpModules节中,注册了UrlRoutingModule类,用于解析Url的路由,这是使用ASP.NET 3.5 MVC框架或者传统的ASP.NET程序的根本区别。

0D}{(7U{2J[7U34{B~N~O4M

从上述代码中可以看出,第二行添加了一个名称为UrlRoutingModule的HTTP模块,正是注册了该模块,ASP.NET程序就会使用ASP.NET 3.5 MVC框架,将页面的请求转换为Url路由,并调用相关控制器中的相关方法,实现指定视图的输出。

执行过程

image

在index()方法中,返回类型是ActionResult。ActionResult是一个抽象类,因此实际返回的是该抽象类的子类,ActionResult的子类列表是

ActionResult子类列表 说明
ViewResult 表示HTML的页面内容
EmptyResult 表示空白的页面内容
RedirectResult 表示定位到另一个URL
JsonResult 表示可以运用到AJAX程序中JSON结果
JavascriptResult 表示一个JavaScript对象
ContentResult 表示一个文本内容
FileContenResult 表示一个可以下载的、二进制内容的文件
FilePathResult 表示一个可以下载的、指定路径的文件
FileStreamResult 表示一个可以下载的、流式的文件

相关方法与返回对象的列表

控制器中的方法 返回对象
View ViewResult
Redirect RedirectResult
RedirectToAction RedirectToRouteResult
RedirectToRoute RedirectToRouteResult
Json JsonResult
JavaScriptResult JavaScriptResult
Content ContentResult
File FileContentResult、FilePathResult和FileStreamResult
posted @ 2013-01-29 21:01  Mister Zhai  阅读(176)  评论(0编辑  收藏  举报