stevenhqq

无知逼着我不断学习,唯有这种方式,才能感觉自己还有点价值。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    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属性的一句话,用于设置页面的模板。该页面时所有页面启动的时候会调用的初始页面。

posted on 2011-03-09 11:48  撕体分黑蛐蛐  阅读(1256)  评论(0编辑  收藏  举报