2.3 Hello MVC
学习一个软件开发框架最有效的方式就是了解并使用它。本节我们将创建一个简单的ASP.NET MVC应用程序,以使你能快速对整个框架有一个大致的了解,我们会在后续的章节中陆续进行详细介绍。
(1)启动VisualStudio2013,选择“文件 → 创建 → 项目”命令,VS将启动创建项目对话框,然后选择C#下面的Web模板,并选择.NET Framework4.5版本,你会看到ASP.NET Web应用程序项目模板,单击选择此项目类型,如图2-3所示。
图2-3 创建MVC项目
(2)设置项目的名字为LMS,单击“确认”按钮后,会出现另外一个对话框,列举了项目的各种模板以供选择。不同的项目模板所对应程序将会拥有不同的特性,比如授权、导航或者样式。为了简化,我们选择空模板(Empty)。为对象添加文件夹和核心引用并选择MVC,这将创建一个包含基本文件结构的MVC项目,最后单击“确认”按钮完成新项目的创建,如图2-4所示。
图2-4 选择项目模板
当VisualStudio创建了项目之后,你会看到许多文件和文件夹显示在解决方案(SolutionExplorer)窗口中,如图2-5所示。
图2-5 项目解决方案目录
这就是MVC项目的默认结构。由于创建的是空项目,因此程序不包含任何可以执行的程序,所以还需要添加控制和视图。
(3)添加控制器。下面添加一个控制器到项目中。在VisualStudio解决方案浏览器窗口中的Controller文件夹上右击,然后选择“添加”→“控制器”命令,如图2-6所示。
图2-6 添加控制器
接下来,会弹出“添加支架”的对话框(见图2-7),里面提供了多种支架模板供选择,此处选择“MVC5控制器-空”选项,然后单击“添加”按钮。
图2-7 选择支架
接下来会出现“添加控制器”对话框,设置控制器的名称为HomeController,控制器的名字必须以Controller结束,如图2-8所示。
图2-8 设置控制器的名称
单击“添加”按钮后,VisualStudio会创建控制器文件,并在控制器类文件中自动生成一个默认行为(Action)的方法——Index(),如图2-9所示。
图2-9 生成的控制器代码
在刚生成的Index行为方法体中做点小改动,使用ViewBag动态对象向视图传递一个消息“Hello MVC”,改动后的代码如下:
public class HomeController: Controller { //GET:/Home/ public ActionResult Index() { //向视图传递消息 ViewBag.Message="Hello MVC"; return View(); } }
(4)添加视图。如果只有控制器,程序依然不能执行,还需要有控制器中行为(Action)的方法所对应的视图才行。MVC5项目默认使用Razor视图引擎来开发项目。在HomeController文件中,将光标置于Index行为方法体内,右击,在弹出的快捷菜单中选择“添加视图”命令,如图2-10所示。
图2-10 添加视图
在弹出的“添加视图”对话框中,设置视图的名称为Index(视图默认的名称与Action的名称相同),其他选项均使用为默认值,如图2-11所示。
图2-11 设置视图的名称
单击“添加”按钮,完成视图的创建,并生成默认的视图文件Index.cshtml(见图2-12),该文件的目录结构遵循一定的规范,在后面的章节中将会详细讲解。
图2-12 生成的Index默认视图
下面修改视图的内容在刚生成的Index.cshtml视图中显示Controller传递过来的消息,使用@ViewBag.Message即可实现效果。修改后的视图代码如下:
@{ ViewBag.Title="Index"; } <h2>@ViewBag.Message</h2>
(5)运行程序。此时已完成MVC最简单的应用程序的创建,令人激动的事情即将发生,在VisualStudio工具栏上单击“调试”按钮,在浏览器中就可以得到如图2-13所示的结果。
图2-13 MVC应用程序运行的结果