ASP.NET MVC3 快速入门
第一节 概述
1.1本教程的学习内容
在本教程中,你将学会如下内容:
如何建一个ASP.NET MVC的工程。
如何ASP.NET MVC的控制器(controller)与视图(view)。
如何使用Entity Framework code-first 范例来建一个新的数据
如何取和示数据。
如何编辑数据并且行数据的有效性验证。
1.2创建工程
如果要创建一个ASP.NET MVC3的工程时,首先运行Visual Web Developer 2010 Express,并且在起始页(start page)中选择“新建项目”。
Visual Web Developer是一个集成开发环境,你可以使用它来进行各种应用程序的开发。在Visual Web Developer的菜单的下面有一个工具条,可以直接点击工具条中的各个工具按钮来进行各种操作,也可以直接点击菜单中的各个菜单项来进行各种操作,此处我们点击“文件”菜单中的“新建项目”菜单项。
图1-1 Visual Web Developer 2010 Express中的起始页
1.3 创建你的第一个应用程序 
你可以使用Visual Basic 或Visual C#作为开发语言来创建应用程序。在本教程中,选择C#来作为开发语言。点击“新建项目”菜单项后,在打开的“新建项目”对话框中,双击左边的“Visual C#”使其成为展开状态,然后点击“Web”,点击右边的“ASP.NET MVC 3 Web 应用程序”,然后在下方的名称文本框中填入应用程序的名称,在本教程中命名为“MvcMovie”,然后点击确定按钮。 
1-2 在新建项目对话框中选择ASP.NET MVC3应用程序并为应用程序命名
在接下来打开的“新ASP.NET MVC 3 项目”对话框中,点击选中“Internet 应用程序”,在“视图引擎”下拉框中保持默认的“Razor”选项不作修改(Razor视图是ASP.NET MVC3种新增的一种十分重要的视图类型,使用它可以使得Web应用程序的开发变得更加方便快捷,在后文中将对此进行详细介绍)。
1-3 选择项目模板与视图引擎 
点击确定按钮,Visual Web Developer会为你所创建的ASP.NET MVC项目提供一个默认模板,这样的话你就拥有了一个可以立刻运行的应用程序。默认的模板中提供的是一个很简单的显示“欢迎使用 ASP.NET MVC!”文字的应用程序,你可以以此作为你的开发起点。
图1-4 Visual Web Developer提供了一个默认的应用程序模板
点击“调试”菜单中的“启动调试”菜单项(该菜单项的快捷键为F5),Visual Web Developer将启动一个内置的服务器,并且在该服务器中打开当前Web应用程序的主页,如图1-5所示。
图1-5 ASP.NET MVC3的默认应用程序模板的调试画面 
请注意该页面在浏览器中的地址为“localhost:4423/”。其中“localhost”代表了本机上你
刚刚创建的Web应用程序的临时网站地址,4423代表了Visual Web Developer使用的一个随机端口,每次调试的时候,Visual Web Developer都会使用这个端口来作为内置服务器的端口号。在各计算机上,该端口号都是不相同的,因为该端口号是Visual Web Developer随机选择的。
在这个模板应用程序的页面的右上角,提供了两个按钮与一个“登录”链接,点击“登录”链接,页面跳转到登录页面,点击“主页”按钮,页面返回到主页,点击“关于”按钮,页面跳转到“关于”页面。
接下来,让我们开始逐步将这个默认的应用程序修改为我们所要的应用程序,在这个过程中逐步了解ASP.NET MVC 3的有关知识。首先,让我们关闭浏览器并开始代码的修改工作。
第二节 添加一个控制器
MVC的全称为model-view-controller(模型-视图-控制器)。MVC是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC开发出来的应用程序一般包括以下几块内容:
控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。
模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。
视图(View):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件。
在本教程中,将全面介绍这些概念,并且向你展示如何利用它们来搭建一个应用程序。
首先,让我们来创建一个控制器(controller)类。在解决方案资源管理器中,鼠标右击Controllers文件夹,并且点击添加->控制器,如图2-1所示。
图2-1 添加控制器
在弹出的“添加控制器”对话框中,将控制器命名为“HelloWorldController”,然后点击添加按钮,如图2-2所示。
图2-2 命名控制器
观察解决方案资源管理器中新增加了一个文件,名字为HelloWorldController.cs,并且该文件呈打开状态,如图2-3所示。
图2-3 控制器代码
结衣波多野电影图片
修改打开的HelloWorldController.cs文件,在HelloWorldController类中,创建如代码清单2-1中所示的两个方法,控制器将返回一个HTML格式的字符串。
代码2-1 控制器中创建方法
public class HelloWorldController : Controller
{
    //
    // GET: /HelloWorld/ 
    public string Index()
    {
        return "这是我的<b>默认</b&";
    }
    //
    // GET: /HelloWorld/Welcome/
    public string WelCome()
    {
        return "这是我的Welcome方法...";
    }
}
在这个修改后的HelloWorldController控制器中,第一个方法名为Index。现在让我们从浏览器中调用该方法。运行应用程序(按F5键或Ctrl+F5键),在打开的浏览器中的地址栏后面,添加“HelloWorld”路径(譬如,在我的计算机上,浏览器中地址为localhost:4423/HelloWorld),画面显示如图2-4所示。由于在Index方法中,直接返回了一个HTML格式的字符串,所以在浏览器中将该字符串显示出来。 
图2-4 HelloWorldController控制器中Index方法的运行结果
在ASP.NET MVC中,可以根据浏览器中的输入地址来调用不同的控制器或控制七种不同的方法。ASP.NET MVC的默认的映射逻辑使用如下所示的格式来决定应该调用什么控制器或控制器中的什么方法。
/[Controller]/[ActionName]/[Parameters]
URL地址的第一部分决定调用哪个控制器类,所以“/HelloWorld”映射到HelloWorldController控制器类。第二部分决定调用控制器中的哪个方法。所以“/HelloWorld/Index”将会调用Hello
WorldController控制器类的Index方法。由于Index方法是控制器类的默认方法(可以另外指定控制器类的默认方法),所以也可只输入“/HelloWorld”来调用该方法。
在浏览器的地址栏中,输入“localhost:xxxx/HelloWorld/Welcome”,将会调用HelloWorldController控制器类的Welcome方法,该方法返回“这是我的Welcome方法...”文字,所以浏览器中显示该文字,如图2-5所示。
图2-5 HelloWorldController控制器中Welcome方法的运行结果
接下来,让我们修改Welcome方法,以便在URL地址栏中可以传递一些参数给该方法(例如:/HelloWorld/Welcome?name=Scott&numtimes=4)。修改后的代码如下所示。注意这里
我们使用了C#的可选参数,当URL地址中没有使用numtimes参数时,该参数被默认设定为1。