【发布时间】:2010-11-19 12:56:20
【问题描述】:
我是 MVC 的新手,刚刚遇到一个需要帮助的场景。
我将简要概述我的场景,就好像它是我更熟悉的 Web 窗体应用程序一样。
场景:
我有一个主页,其中列出了最近的 10 篇博客文章,以及一个“存档树”(按时间顺序列出了年/月,并附有指向这些年/月中创建的每个博客条目的链接)。
我将此“存档树”创建为用户控件,并在我的主页上输出该用户控件。
我还将这个存档树用户控件输出到我的主博客页面的一侧 - 博客页面仅呈现单个博客文章的详细信息。
我还想在我的 Web 应用程序的其他几个页面中重复使用此存档树控件。
MVC:
我有一个“PhotoController”控制器,它有一个 ActionResult 方法,负责获取所选照片博客文章 (id) 的详细信息。
我想在我的照片博客页面上包含一个局部视图(存档树,它将呈现多条记录),它将循环显示多条照片记录 (List<Photo>)。
我可以创建一个视图模型,它包含一个“照片”属性(用于呈现单个照片博客记录详细信息)和一个名为“PhotoArchive”的第二个属性,即List<Photo>。
不过,我对这种方法的担忧是,当我在网站上的其他一些部分重新使用这个“存档树”部分视图时,我不一定想要通过相同的视图模型(包含“照片”和“照片存档”对象)到父视图。例如,我的主页不需要通过“照片”对象传递给呈现主页的视图,但我仍想在主页的其余 HTML 中输出我的“存档树”部分视图。
我期待有一个简单的解决方案来解决这个问题,我目前还不知道对 MVC 如此陌生。
【问题讨论】: