ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单
在上一章,我们已经从数据库获取数据,然后显示出来,这一章,我们将允许编辑数据。
创建 StoreManagerController 控制器
我们将要创建称为 StoreManager 的控制器,对于这个控制器,我们将通过使用 ASP.NET MVC3 中提供的脚手架功能来实现。在添加控制器的窗口中,注意需要选中 为”创建”、”更新”、”删除”和”详细信息” 方案添加操作方法。
在我们点击添加按钮之后,你将会看到 ASP.NET MVC3 的支架机制已经为你在 Controllers文件夹中添加了一个名为 StoreManagerController 的控制器。
原文中说:创建了一个带有本地实体框架变量的 StoreManagerController 控制器
但是,在我的 VS2010 中实际并没有创建实体框架变量,在前面的数据访问部分,我机器上的实体框架也是手工下载,并安装的。
原文还说,创建了 Create.cshtml,Delete.cshtml,Details.cshtml,Edit.cshtml,以及 Index.cshtml 视图。 这些视图使用了强类型的 Album 类型。
但是,在对话框中并没有选择实体类型的选项,所以,在我这里,实际上也没有创建相应的视图,更没有强类型一说了,不过,这些其实都是小问题。
新的 StoreManager 控制器包含了 CRUD (创建,读取,更新,删除)控制器 Action ,原文中说:这些控制器知道如何使用 Album 模型和实体框架的上下文对象来访问数据。
由于并没有创建实体上下文对象,所以,我这里也没有实际的数据访问代码存在,在下面的说明中,我们将手工创建这一部分。
所以,我们手工在控制器中增加数据访问的实体上下文对象。
namespace MvcMusicStore.Controllers { public class StoreManagerController : Controller { MvcMusicStore.Models.MusicStoreEntities storeDB = new MvcMusicStore.Models.MusicStoreEntities();
修改视图
这里我们先手工生成视图,然后再进行修改。
首先为 Index 增加强类型的视图。需要在对话框中选中 创建强类型视图,然后,选中模型类,在支架模板中选择 List,这是因为我们需要在 Index 视图中处理专辑的列表。
使用 List 支架之后,创建的视图中,模型的类型将会生成为如下的实现。
@model IEnumerable<MvcMusicStore.Models.Album>
记住,虽然脚手架可以为我们自动生成代码,但只是标准的 ASP.NET MVC 代码, 就像我们的这个教程可以节省你的学习时间一样,支架可以节省你手工创建控制器,以及强类型视图的时间,但是,具体的细节内容还是需要自己来处理。
所以,让我们来快速编辑一下 StoreManager 的 Index 视图(/Views/StoreManager/Index.cshtml)。这个视图通过一个 table 表格显示专辑的列表,包含专辑的公共属性,还带有进行编辑/详细内容/删除的链接。我们要删除专辑艺术家的链接,我们不需要显示这个值,在视图中的 <table> 部分,删除 AlbumArtUrl 相关的 <th> 和 <td> 元素,下面的代码中高亮显示的部分。
这样, Index 视图的代码应该如下所示:
- 更多asp疑问解答:
- asp正则过滤重复字符串的代码
- 用asp过滤全部html但保留br类似的符号
- 会asp,但感觉asp要过点,想学php。但我一般做的都是小公司的站,用access数
- PHP的空间可以用ASP的源代码吗?
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 想做一个市级的人才网acess,sql数据库,语言asp,jsp,php分别用哪种好
- jsp,asp,php 区别
- 我想找一个有比较多漏洞的网站的源码,比如可以asp,php注入等都可以。供学习研究用。请提供下载地址。。
- 现在候找人做个网站,用ASP,还是PHP语言去做好
- asp,php ,jsp,.net 对于做网站前台的重要吗?
- asp和php的区别是什么?
- 我是新手SEO菜鸟 请问wp dw php asp cms myspl dede 这些软件应该如何区分呀?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?