2

オブジェクトとビューがある場合:

public MyCustomerObject
{
    public int Id {get;set;}
    public string Label {get;set;}
    Public string Value {get;set;}
}

@model IEnumerable<MyCustomObject>

@foreach (var item in Model)
{
    @Html.LabelFor(m => item)
    @Html.DisplayFor(m => item)
}

LabelFor<>およびDisplayFor<>拡張機能をオーバーライドしMyCustomObjectて、他のタイプを処理する能力に影響を与えることなく、デフォルト以外の方法で処理できるようにする正しい方法は何ですか?

4

1 に答える 1

3

DisplayTemplatesビュー フォルダーにという名前のフォルダーを作成します。as modelという名前のビューを作成しますMyCustomObject.cshtmlMyCustomObjectを使用すると、MVC はこのビューを使用しますDisplayFor。についても同じことが言えます。EditorForその場合、フォルダーの名前は次のようになりますEditorTemplates

LabelForただし、テンプレート オプションはありません。

詳細については、Scott Hanselman によるこのブログ投稿を参照してください。

于 2013-09-19T09:50:51.003 に答える