2011-10-27 75 views
0

我使用@ Html.DisplayFor(x => x.SomeObject)来渲染显示和编辑器模板。 然后,我有一个名为SomeObject的DisplayTemplate,根据调用DisplayFor的哪个视图,SomeObject应该呈现不同。这样做的最好方法是什么?唯一的办法,我可以找出是添加一些额外的viewdata并将其发送到显示模板,然后基于这个标准我呈现正确的HTML。根据显示模板的使用位置,显示模板有所不同?

回答

0

听起来像你实际上需要两个单独的视图。如果它们之间存在重叠(大量相同的Html),则可以将它们放在一个分区中,然后分享。

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