2011-10-17 15 views
1

同じViewModelに対して2つの異なるDisplayTemplateが必要です。 1つは通常のページにViewModelを表示するためのもので、もう1つはViewModelを印刷用ページに表示するためのものです。私のViewModelsはすべて基底モデルから派生し、DisplayForは基底モデルのListを与えるときにどのDisplayTemplateを使用するかを決定します。同じViewModelに異なるDisplayTemplatesを使用するにはどうすればよいですか?

私が理解できるように、DisplayForは渡されたモデルのタイプと等しいDisplayTemplatesフォルダ内のファイル名を探します。私は同じ名前の複数のファイルを持つことはできません。

どうすればこの問題を解決できますか?

ありがとうございます!

答えて

6

DisplayForのオーバーロードがあり、テンプレート名を渡すことができます。モデル名の後にPrintを追加してプリントテンプレートに名前を付けると、次のようにプリントテンプレートを呼び出すことができます。

@Html.DisplayFor(x => x.MyModel, "MyModelPrint") 
関連する問題