0

ジェネリック型のモデル クラスがあります。それを表示する (そして共有フォルダーに配置する) カスタム エディター テンプレートを作成したいと思います。

どうやってやるの?

MVC2 が汎用テンプレートを介してそれを取得するように名前を付ける方法がわかりません。

さらに、最上位クラスが使用する必要があるテンプレートを明示的に指定する方法があるかどうか疑問に思っています (UIHint 属性を使用してプロパティで行うことができるように)。クラス名に基づいてテンプレートを選択する機能をオーバーライドする方法はありますか?

助けてください。

4

1 に答える 1

0

#1 を達成する最も簡単な方法は、モデルを表示するときにテンプレート名を 2 番目のパラメーターとして指定することです。

<%= Html.DisplayFor(m => m.GenericList, "DisplayList")%>

MVC2 ではジェネリックの扱いがあまりよくありません。ソースコードは次のように述べています。

// TODO: Make better string names for generic types

そのため、リストをレンダリングするとき、別の名前を指定しない場合、デフォルトで List`1 という名前のテンプレートを探してレンダリングします。

2 番目のポイントでは、1 と同じことを行います。アイテムのレンダリング時にテンプレート名を指定するか、UIHint を使用します。

于 2010-08-27T15:04:20.943 に答える