2011-11-10 8 views
0

を表示し、ヴァールBは、DateTimeのです!解析モデル部分のDisplayNameは、モデルテンプレートに

私はViewModel ClassAを使用して、このViewModel I ClassAのコントローラ用のViewModel(ClassAViewwModel)を持っています。また、これはVarBのDateTimeViewModelを持っています。これは、アプリケーションDateTimeが3つのフィールドDate、Hourそして分。

次に、私のDateTimeViewModel用のテンプレートを作成しました。私はその後、したいことは、私のDateTimeViewModel(または同様のもの)に何らかの形で私は、@ Html.LabelFor(M => m)を行うときに表示される自分のVARBからのDisplayNameを取得することです

@model ViewModels.DateTimeViewModel 
<div > 
    <span class="editor-label"> 
     @Html.LabelFor(m => m) 
    </span> 
    <span class="editor-field"> 
     @Html.TextBoxFor(m => m.Date, new { id = "[email protected]_" + ViewData["cssname"] + "_resource_date", @class="datepicker dato", maxlength="10"}) 
    </span> 
    <span class="editor-field"> 
     @Html.TextBoxFor(m => m.Hour, new { id = "participating_airborne_" + ViewData["cssname"] + "_resource_hours", @class = "time", maxlength = "2" }) 
    </span>:<span class="editor-field"> 
     @Html.TextBoxFor(m => m.Minute, new { id = "participating_airborne_" + ViewData["cssname"] + "_resource_minutes", @class = "time", maxlength = "2" }) 
    </span> 
    <span> 
     @Html.ValidationMessageFor(m => m.Date) 
     @Html.ValidationMessageFor(m => m.Hour) 
     @Html.ValidationMessageFor(m => m.Minute) 
    </span> 
</div> 

ので、私:コードを参照してください。その部分的な情報を読み取る方法が必要です、これは可能ですか?

答えて

1

あなたはこのように、モデルのメタデータから現在のモデルの表示名を取得することができる必要があります:

:あなたはビューモデルを持っている場合は

ViewData.ModelMetadata.GetDisplayName() 

EDIT ClassAビューでは、そのプロパティを次のようにレンダリングします。

@Html.EditorFor(x => x.VarB) 

次に、DateTimeViewModelテンプレートを使用し、モデルメタデータから表示名を抽出できるようにする必要があります。

+0

私はClassAViewModelで私のビューに入っていれば、あなたが書いたことをすれば、ClassAの表示名が得られます。ClassAViewModelのプロパティの表示を教えてくれます。 – Mech0z

関連する問題