2011-10-27 101 views
0

我使用@ Html.DisplayFor(x => x.SomeObject)來渲染顯示和編輯器模板。 然後,我有一個名爲SomeObject的DisplayTemplate,根據調用DisplayFor的哪個視圖,SomeObject應該呈現不同。這樣做的最好方法是什麼?唯一的辦法,我可以找出是添加一些額外的viewdata並將其發送到顯示模板,然後基於這個標準我呈現正確的HTML。根據顯示模板的使用位置,顯示模板有所不同?

回答

0

聽起來像你實際上需要兩個單獨的視圖。如果它們之間存在重疊(大量相同的Html),則可以將它們放在一個分區中,然後分享。

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