2011-12-08 11 views
2

エディタテンプレートに関する質問があります。たとえば、日付フィールド、商品賞フィールド、商品フィールドの重さのモデルがあります。私は正常にDateTimeとDecimalのエディタテンプレートを作成しました。どのフィールドにもEditorForを使用すると、フィールドのデータ型に応じてテンプレートが必要になることを理解しています。ASP.NET MVCエディタテンプレート

だから私が使用している場合:EditorFor(m=>m.DateOfBirth)それはなど、ダブルテンプレートを探し倍増されたDateTimeそれがEditorTemplatesフォルダ内のDateTimeテンプレートを探しフォーマットとEditorFor(m=>m.ProductPrice)である)

質問は、私は私がしたいことと異なることができる方法ですProductPrize(double)には文字列フォーマット##0.00、ProductWeight(double)にはフォーマット##0.0000の別のテンプレートを使用したDecimalテンプレートを1つ使用しますか?

すべてのヘルプはあなたが好きな、2番目のパラメータとしてテンプレート名を受け入れEditorForのオーバーロードを使用したい場合があり

答えて

8

いただければ幸いです。

EditorFor(m=>m.ProductPrice, "PriceEditorTemplate") 

さらに詳しい情報:MSDN

+0

UPD:正しいURLのMSDN記事へのリンクを更新してください。 –

+0

私にそれを打つと、私は私の答えを削除します。 – starskythehutch

+0

このような迅速な回答に感謝します。それは魅力のように働く。私は、サイトを公開した後でプロジェクトを再度コンパイルする必要はなく、編集が簡単なので、これを使用します。 – LetThereBeByte

5

がそれを定義しますあなたのモデルではUIHint属性を使用:

[UIHint("MySpecificEditorTemplate")] 
public ProductPrice {get;set;} 

EditorForは、たとえばMySpecificEditorTemplate.cshtmlを使用します。

+0

このような迅速な回答に感謝します。これも動作しますが、これはdllライブラリでコンパイルされているため、Sergeysソリューションを使用します。これは、サイトが起動していれば編集するのが難しくなります – LetThereBeByte