首页 文章

如何为同一 ViewModel 使用不同的 DisplayTemplates?

提问于
浏览
1

我需要为同一个 ViewModel 使用两个不同的 DisplayTemplates。一个用于在常规页面上显示 ViewModel,另一个用于在 print-friendly 页面上显示 ViewModel。我的 ViewModel 都是从一个基本模型派生出来的,而 DisplayFor 在我给它一个基本模型的 List 时会找出要使用的 DisplayTemplate。

据我所知,DisplayFor 在 DisplayTemplates 文件夹中查找一个文件名,该文件名等于它已传递的模型的类型。我不能有多个同名文件。

我怎么解决这个问题?

谢谢!

1 回答

  • 6

    DisplayFor的重载允许您传递模板名称。如果通过在模型名称后面添加Print来命名打印模板,则可以像这样调用打印模板:

    @Html.DisplayFor(x => x.MyModel, "MyModelPrint")
    

相关问题