2011-10-17 14 views
1

我需要兩個不同的DisplayTemplates用於相同的ViewModel。一個用於在常規頁面上顯示ViewModel,另一個用於在可打印頁面上顯示ViewModel。我的ViewModel都是從一個基礎模型中派生出來的,當我給它一個基礎模型列表時,DisplayFor會計算出使用哪個DisplayTemplate。如何爲同一個ViewModel使用不同的DisplayTemplates?

據我所知,DisplayFor在DisplayTemplates文件夾中查找一個文件名,該文件夾與它傳遞的模型的類型相同。我不能有多個具有相同名稱的文件。

我該如何解決這個問題?

謝謝!

回答

6

有一個DisplayFor超負荷允許您傳遞模板名稱。如果通過在型號名稱後面添加Print來命名打印模板,則可以這樣調用打印模板:

@Html.DisplayFor(x => x.MyModel, "MyModelPrint") 
相關問題