0

我有一个 MVC3 C#.Net 网络应用程序。我有两个显示相同 HTML 表的视图。但是,每个视图代表一个不同的模型。视图 1 =“提案编辑”,视图 2 =“文档编辑”。Proposal 模型和 Doc 模型都有一个属性:

ICollection<Deliverable> Deliverables.

在每个编辑视图中,我都会显示属于该视图模型的可交付成果。每个编辑视图中的代码都是相同的,只是编辑视图后面的模型不同。所以,有很多重复的代码。

如何将其模块化以减少重复代码?

4

1 回答 1

1

@Mike,这正是我会做的。重点是每个模型都有 DisplayTemplates。如果您愿意,即使是 DateTime 对象也可以有一个 DisplayTemplate。

编辑:

这是仅将 DisplayTemplate 用于可交付成果模型的示例

@model ICollection<Deliverables>

@foreach (var deliverable in this.Model)
{
    @this.Html.DisplayFor(d => deliverable)
}

当然,您还可以在下面有一个模板~\Shared\DisplayTemplates\Deliverables.cshtml或在下面进行编辑~\Shared\EditorTemplates\Deliverables.cshtml

于 2012-09-24T19:19:29.573 回答