2017-10-28 5 views
0

Q:このViewDataはどのように入手できますか? @ViewData["MyCustomCollection"]["MyParam1"]それはエラーにCannot apply indexing with [] to an expression of type 'object'ViewDataサブ値を読み取る

ビューを返します(MyCustomCollecionはあり[UIHint("MyCustomEditor")]

@Html.EditorFor(model => model.MyCustomCollection, new 
{ 
    MyCustomCollection = new 
    { 
     Param1 = "MyParam1" 
     Param2 = "MyParam2" 
    } 
}) 

MyCustomEditor

(...) 
<span>@ViewData["MyCustomCollection"]["MyParam1"]<span> 
<span>@ViewData["MyCustomCollection"]["MyParam2"]<span> 
(...) 

重要:私は親としてMyCustomCollectionを設定する必要があり、私はこれを行うことはできません。

@Html.EditorFor(model => model.MyCustomCollection, new 
{ 
    Param1 = "MyParam1" 
    Param2 = "MyParam2" 
}) 
+0

あなたは 'MyCustomCollection'という名前のプロパティへの結合が、その後も、本当に意味がありませんadditionalViewData'' 'としてMyCustomCollection'という名前のオブジェクトを渡します。あなたのモデルは何ですか、特に 'MyCustomCollection'プロパティー –

+0

@StephenMuecke異なる「Param1」と「Param1」を持つ多くのプロパティーに対して同じ「EditorTemplate」を使用する必要があります。したがって、渡されたプロパティ名は、テンプレートによってどのエディタを処理するかを識別する方法です。私も 'MyCustomCollection_Param1'、' AnotherCustomCollection_Param1'のようなことをやっていますが、私は何かクリーナーを作ろうとしています。 –

+0

もう一度、それは意味がありません。特に、あなたがどこにあるかを編集することはできません。私はすでにMyCustomCollectionにバインドしています。 –

答えて

関連する問題