【发布时间】:2013-08-31 03:23:40
【问题描述】:
所以我正在使用 MVC3 创建一个网页,该网页应该是高度可定制的。例如,以电视节目的 IMDB 页面为例。它有多个组件(以下称为小部件):标题信息、演员表、剧集列表、随机琐事、报价列表、论坛预览等。
假设我正在创建一个 IMDB 克隆,并且根据页面类型(电影、电视节目、演员),您会显示不同的小部件。并且用户还可以更改首选项以在每种类型的页面中添加或删除某些小部件。
在我的设计中,我有它,以便主视图的控制器传递“小部件视图模型”的集合,其中包含获取每个小部件所需信息所需的信息。因此它将提供 ID(从数据库中获取信息)、控制器和操作。
在主视图中,它遍历这个小部件视图模型列表,并为通用小部件容器分部视图调用 html.partial,该部分视图包含每个小部件的通用 HTML 和 JavaScript/jQuery,并将单个小部件视图模型传递给那个局部视图。
在该局部视图中,在通用小部件容器的内容 div 中,它调用另一个 html.action 来获取特定的小部件局部视图,方法是调用特定控制器操作,该操作通过 id 字段获取信息小部件视图模型。
悬崖笔记:元数据对象列表 -> 主视图。每个元数据对象 -> 通用局部视图。局部视图 -> 另一个使用元数据获取数据的局部视图。
既然你已经阅读了所有这些,我有两个问题:
在一个主视图中调用多个 html.partial,每个部分视图调用一个 html.action,相关成本是多少?
这是一个好的、合乎逻辑的设计吗?
【问题讨论】: