2012-03-01 17 views
1

からEditorTemplateにViewBagで追加データを渡します。エディタで私はViewBag.Classesにアクセスし、その値はnullです。しかし、私がデバッグすると、ViewBagに "Classes"キーが含まれていることがわかります。ここでスクリーンダンプ:は、私は部分的なビューを持つ部分

You can see that var1 is null, but ViewBag contains "Classes"

は、なぜこれが私に起こっていると私は部分からエディタテンプレートにこの値を渡すために何ができるのでしょうか?

答えて

3

あなたは匿名オブジェクトとしてそれを渡すことができます。

@ModelType ProjectCreateViewModel 
@Html.EditorFor(Function(m) m.Project.InvoiceScheduleBasedOnDates, New With { .Classes = "template" }) 

とテンプレートで:

@Modelype InvoiceDate 
@Code 
    Dim var1 = ViewBag.Classes 
    ... 
End Code 
+1

働くうんを、。私は何を間違っていたのですか?私のやり方と同じようにデータにアクセスできますか?運動と同様に質問してください。あなたの助けをありがとう! –

+1

@MichalB。、 'EditorFor'ヘルパーに渡す' additionalViewData'パラメータは 'Object'型です。匿名オブジェクトを渡すと、そのプロパティが自動的にテンプレートのビューデータにキーとして注入されます。あなたの場合、 'ViewDataDictionary'型のオブジェクトを渡しました。テンプレートの中で、例えば' ViewBag.Keys'と 'ViewBag.Values'を使ってそのプロパティにアクセスすることができます。 –

関連する問題