1

私はMVCを学び始めたばかりです。

Shared/DisplayTemplates で厳密に型指定されたビューを作成し、コントローラーからリストを返した後、 @Html.DisplayForModel() を実行すると、これがリスト全体のテンプレートとして使用されることを知っています。

ただし、この DisplayTemplate で指定した方法でモデルを構築したくない場合はどうすればよいでしょうか。さまざまな表示テンプレートを作成するにはどうすればよいですか?

明らかな方法は、オブジェクトごとにテンプレートを作成し、次のようなことを行うことです...

@foreach(var item in Model)
{
    @Html.DisplayFor(x=>x, "AlternativeTemplate")
}

..しかし、foreach を取得したので、エレガントではないようです。

4

1 に答える 1

2

そうです、テンプレート名に文字列パラメーターを取る DisplayForModel オーバーロードを使用できます。http://msdn.microsoft.com/en-us/library/ee430910(v=vs.98).aspx

Views/Shared/DisplayTemplates の下に定義されたテンプレートを、文字列で指定された正確な名前で定義する必要があります。

于 2013-02-08T21:00:41.500 に答える