根据使用位置呈现不同的显示模板?

时间:2011-10-27 07:52:13

标签: asp.net-mvc-3

我使用@ Html.DisplayFor(x => x.SomeObject)来渲染显示和编辑器模板。 然后我有一个名为SomeObject的DisplayTemplate,SomeObject应根据调用DisplayFor的视图呈现不同。这样做的最佳方式是什么?我能弄清楚的唯一方法是添加一些额外的viewdata并将其发送到显示模板,然后根据这个标准,我将html渲染正确。

1 个答案:

答案 0 :(得分:0)

听起来你确实需要两个独立的视图。如果它们之间存在重叠(许多相同的Html),您可以将它们分成两部分。

@Html.DisplayFor(x => x.SomeObject, some-condition ? "viewA" : "viewB");