一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 11
本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由
http://forum.entlib.com 开源论坛小组提供。关于本文的一些资源,请参考文章最后的链接。
前面系列文章:
本文继续学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
命名规范和\Views目录结构
默认情况下,ASP.NET MVC应用程序使用约定的目录命名和结构,来解析视图模板。开发人员在Controller控制器中引用视图时,不必指定完整的路径。ASP.NET MVC 将自动寻找应用程序中\Views\[ControllerName]\目录,并找到相应的视图模板文件。
例如,我们创建的DinnersController类 – 直接引用3个视图模板:Index / Details / NotFound。ASP.NET MVC 默认到应用程序的\Views\Dinners 目录下寻找这些文件。
从上图中,可以看到3个Controller控制器类(DinnersController、HomeController和AccountController),其中后面2个控制器是在创建项目时默认添加的,另外在\Views目录中有3个子目录,分别对应Controller类。
Home和Accounts控制器引用的视图会自动到相应的\Views\Home和\Views\Account 目录中寻找。\Views\Shared 子目录则用来存放共享的视图模板,可供多个控制器使用。ASP.NET MVC在解析一个视图模板时,首先检查\Views\[Controller] 特定目录,如果找不到,则继续到\Views\Shared 子目录中寻找。
关于对每一个视图模板的命名,建议的方法是视图模板保持和action方法相同的名称。例如,Index action方法使用Index视图来呈现视图结果,Details action方法使用Details 视图来呈现结果。这样,有助于很快知道哪一个视图模板和哪一个action方法关联。
当视图模板和控制器调用的action 方法有相同的名称时,开发人员可以不必显式指定视图模板的名称。我们仅仅需要传递模型对象给View() 辅助方法(不需要制定视图名称),ASP.NET MVC 将自动推断出我们使用的视图 \Views\[controllerName]\[ActionName],并展示结果。
这样,我们可以稍微简洁一些代码,避免在代码中重复view的名称。
上面的代码是实现Dinner列表和显示详细信息的全部代码。
http://forum.EntLib.com 开源小组注:前面1-11篇介绍了如何创建控制器、Model和视图,实现了Dinner列表和详细信息的展示。下一步,我们将进一步扩展DinnersController类,实现创建、编辑和删除的功能。
相关资源下载链接:
1. ASP.NET MVC 1.0 正式版发布了!!!
2. 免费ASP.NET MVC eBook 向导-电子书下载