1

問題を何度もグーグル検索しました。しかし、これを行うための解決策を見つけることができませんでした。

DataTypeデフォルトEditorTemplateでカスタムを作成し、 mvc3 razorDisplayTemplateで使用したいと考えています。

モデル

[DataType("MyCustomDataType")]
public MyType Property { get; set; }
// I mean by MyType any type of data: string, int, datetime and so on

ビュー - かみそり

@Html.DisplayFor(m => m.Property)
//or
@Html.EditorFor(m => m.Property)

実際には、デフォルトのエディター テンプレートとディスプレイ テンプレートを使用して、再利用可能なデータ型を作成したいと考えています。

何か提案はありますか?便利なリンクを教えていただけますか、できれば簡単な例を教えてください。前もって感謝します。

4

2 に答える 2

2

これは、カスタム エディター/表示テンプレートの優れたチュートリアルです。かみそりの構文ではありませんが、簡単に変換できます。

属性に応じてエディター テンプレートを作成する場合はDatatype、次を使用して属性値を取得できます。ViewData.ModelMetadata.AdditionalValues["DataTypeAttribute"]

値がカスタム データ型の値である場合は、好きなことをしてください。それ以外の場合は、デフォルトを実行します。

それが良い考えかどうかはわかりません。しかし、それはうまくいくはずです。

于 2012-07-28T18:06:06.390 に答える
0

ビューに送信するモデルに含めることができる新しいタイプ、つまり Person クラスを作成できます。つまり、Model.Person です。

Person という名前で新しい EditorTemplate と DisplayTemplate を定義する。デフォルトでは、@Html.EditorTemplateFor(x=>x.Person); を呼び出します。タイプの EditorTemplate を探します。

「asp.net mvc エディター テンプレートの使用方法」に関する次の stackoverflow の投稿をご覧ください。

于 2012-07-28T17:07:48.380 に答える