1、目录ASP.NET MVC 音乐商店 0.概览 .2ASP.NET MVC 音乐商店 - 1 创建项目 .7ASP.NET MVC 音乐商店 - 2.控制器 .10ASP.NET MVC 音乐商店 - 3. 视图与模型 .19ASP.NET MVC 音乐商店 - 4. 数据访问 .41ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单 .54ASP.NET MVC 音乐商店 5.通过支架创建编辑表单 续 .70ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证 .88ASP.NET MVC 音乐商店 - 7.成员管理和授权 .93ASP
2、.NET MVC 音乐商店 - 8. 使用 Ajax 更新的购物车 .101ASP.NET MVC 音乐商店 - 9. 注册和结账 .120ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计 .135ASP.NET MVC 音乐商店0.概览MVC 音乐店是用来介绍和展示使用 ASP.NETMVC 以及 Visual Studio 进行 Web 开发的示例应用程序,我们将从基础知识开始,一步一步地进行介绍,因此,初学者也可以去的很好的学习体验。这个示例程序使用 ASP.NET MVC3 完成,视图部分使用 Razor 引擎,数据库访问使用 EF CodeFirst。这个程序将会创
3、建一个音乐商店,这个程序包括三个主要的部分:购物,结账和管理。用户可以通过分类浏览唱片。可以查看某张唱片,然后加入到购物车中。可以查看购物车,删除其中不再希望购买的项目。在结账的时候,就会提示用户登录,或者注册一个新的账号。创建新帐号创建账号之后,用户可以填写完整的送货和结账信息,为了让这个程序简单一些,如果你在优惠券号中输入 FREE 的话,我们会提示一切免费。下完订单之后,用户会看到一个简单的确认提示。另外,我们还会提供一个管理员用来创建、修改、以及删除唱片的功能。这个项目我们将使用 ASP.NET MVC3 和 Visual Studio 完成。其中的知识涉及到数据访问,表单的提交,数据
4、验证,母版页,布局,以及 AJAX 的更新和验证,用户的登录等等。ASP.NET MVC 音乐商店 - 1 创建项目我们的项目从在 Visual Studio 中的文件菜单中选择“新建”,选择“项目”开始。然后,选择 C# 中的 Web 模板组,在右边的项目模板中选择 ASP.NET MVC3 Web 应用程序,在项目的名称输入框中,输入 MvcMusicStore ,点击确定。这时,你会到第二个对话框,允许我们设置这个项目关于 MVC 的一些设置,确认选中了“空”项目模板,视图引擎选中 Razor ,点击确定。这样我们的项目就创建成功了!我们看一下在这个项目都创建了哪些内容。在 ASP.NE
5、T MVC 中使用了下面的一些基本的命名约定文件夹 功能/Controllers控制器接受来自浏览器的请求,进行处理,然后向用户返回回应/Views 视图文件夹保存用户界面的模板/Models 这个文件夹定义处理的数据/Content 我们的图片,CSS 以及其他任何的静态内容放在这里/Scripts 放置脚本文件/App_Data 数据库文件这些文件夹在一个空的 ASP.NET MVC 应用中也会存在,因为 ASP.NET MVC 的框架默认使用“约定胜于配置”的原则,已经假定这些文件夹有着特定的用途。例如,控制器将会在 Views 文件夹中寻找相应的视图,而不需要你在代码中显式设置,这样可
6、以节省大量的编程工作,也可以使其他的开发人员更加容易理解你的程序。在创建这个程序的过程 中,我们将会详细的说明这些约定。ASP.NET MVC 音乐商店 - 2.控制器在典型的 Web 应用中,用户请求的 URL 地址通常映射到保存在网站中的文件上,例如,当用户请求 /Products.aspx 的时候,或者 /Products.php 的时候,很可能是在通过处理 Products.aspx 或者 Products.php 文件来完成任务。ASP.NET MVC 的处理方式则不同,它没有映射到文件上,相反,将这些 URL 地址映射到类的方法上,这些类被称为“控制器”,控制器用来接受 HTTP
7、请求,处理用户的输入,获取或者保存数据,其中的处理方法称为 Action,然后将回应发送到客户端,可能是显示了一个 HTML 的网页,下载一个文件,重定向到另外一个地址等等。默认的路由配置在新创建的项目中,打开 Global.asax.cs 文件,可以看到如下的代码。using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Routing;namespace MvcMusicStore/ 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,/ 请访问 http:/ class MvcApplication : System.Web.HttpApplicationpublic static void RegisterGlobalFilters(GlobalFilterCollection filters)filters.Add(new HandleErrorAttribute();public static void RegisterRoutes(RouteCollection routes)routes.IgnoreRoute(“resource.axd/*pathInfo“);