我需要两个不同的DisplayTemplates用于同一个ViewModel。一个用于在常规页面上显示ViewModel,另一个用于在打印页面上显示ViewModel。我的ViewModel都是从一个基本模型派生出来的,而DisplayFor在我给它一个基本模型的List时会计算出要使用的DisplayTemplate。
据我所知,DisplayFor在DisplayTemplates文件夹中查找一个文件名,该文件名等于它已传递的模型类型。我不能有多个同名文件。
我该如何解决这个问题?
谢谢!
答案 0 :(得分:6)
DisplayFor
超载,允许您传递模板名称。如果您通过在型号名称后面添加Print
来命名打印模板,则可以像这样调用打印模板:
@Html.DisplayFor(x => x.MyModel, "MyModelPrint")