zoukankan      html  css  js  c++  java
  • MVC Music Store 在线音乐商店示例分析(14)View(Browse、Details、GenreMenu、Create、 Edit、Delete、_ViewStart)

        StoreController控制器对应的View分别有Browse、Details、GenreMenu、Index这四个Action。

        Index Action用于呈现类别列表页面。在界面部分循环生成列表项来呈现内容。Razor模板中的内容非常简单,这里就不多说。

         Browse Action按照分类的形式呈现相册信息。foreach提取每条Album的数据并生成带超级连接,和图片的项目列表。

        Details Action对应的View是现实Album的详细信息的,Razor模板中就是展现一个Album实体的详细信息。

        GenreMenu Action是生成部分页面的,主要用于生成类别菜单。Razor模板中将类别集合中的每条类别提取出来,生成对应的超级连接项。

        StoreManagerController控制器中的对应的View有Create、 Edit、Delete这三对Action。

        Index Action用于检索相册信息,并包含其关联类别极其艺术家的相关信息。Razor模板中引用了 MvcMusicStore.Helpers。这个类是自己定制的。扩展了HtmlHelpers类的功能,添加了Truncate方法,用于将过长的字符串给截断掉。模板中foreach 控制器传过来的Album集合。将每条数据生成为表格中的一行显示。

        Create Action一个用于Get请求,一个用于Post请求,Get请求的时候通过ViewBag.Genres和ViewBag.Artists传递类别集合与艺术家集合,以便在界面模板中生成下拉列表供用户将来先择新建Album的类别和艺术家。Edit Action用于生成编辑界面。Create和Edit这两个Action很多部分都用相同的地方。在Razor模板中生成对应Album实体的编辑表单中 @Html.EditorForModel()这个方法非常有意思。在运行到它的时候,它会自动调用Shared目录下EditorTemplates目录下的Album.cshtml文件并生成出填充好这个模板的创建Album页面。@Html.EditorForModel()属于EditorExtensions类,该类用于扩展HTMLHelper,在应用程序中支持HTML input元素(EditorExtensions类参考EditorForModel方法参考)。这种做法其实就是共用Album.cshtml,因为在编辑Edit和Create创建页面都要使用这个模板来呈现内容。以后如果界面有此类共用部分的话可以考虑使用EditorExtension类的扩展HTMLHelper类的方法。

        Delete Action用于呈现删除Album的信息用。首先会呈现一个删除Album的详细信息,以便确认操作。然后再删除信息之后跳转到Deleted.cshtml页面。显示删除后的信息。

       _ViewStart.cshtml是个单独的页面,该页面中只有设置Layout属性的一句话,用于设置页面的模板。该页面时所有页面启动的时候会调用的初始页面。

  • 相关阅读:
    RESTful日#2:使用Unity容器和引导程序在Web api中使用依赖注入实现控制反转
    RESTful日#2:使用Unity容器和引导程序在Web api中使用依赖注入实现控制反转
    带有可选选项的输入文本框(组合框)
    在组合框中嵌入一个DataGridView
    ItemData在。net
    实现一个所有者绘制的组合框
    模板化的“请等待”按钮和模板控件介绍
    使用AvalonEdit (WPF文本编辑器)
    办公风格的扁平组合箱
    【windows】telnet 和一些dos命令
  • 原文地址:https://www.cnblogs.com/stevenhqq/p/1978097.html
Copyright © 2011-2022 走看看