2011-01-16 5 views
0

PartialViewへのデータの解析に問題があります。asp.net mvc ViewData

ViewData["key"] as IList<T>; 
: プロパティ値とキーがViewDataをに設定されている辞書でパース... にはどうすればいいので、私はこのようなキーと私の辞書項目にアクセスすることができます... ViewDataを持つ辞書をマージすることができます

代わりの

ViewData["Values] <- Which is a List that Contains my list. 

私はこのようにそれを使用するつもりですが...ただ、匿名/魔法の文字列名を欲しいいけません。

<%: Html.EditorFor(x => x.GroupId, "SimpleSelectList", new { Selected = 10}) %> 

私はこのようなことをしたいと考えています。 <%:Html.EditorFor(X => x.GroupId、 "SimpleSelectList"、Html.AddViewData(Model.List))%>

この拡張方法では:

public static IDictionary AddViewData<T>(this HtmlHelper helper, T item) 
{ 
    var dictionary = new Dictionary<string, object>(); 
    dictionary.Add(typeof(T).Name, item); 
    return dictionary; 
} 

そして私はいつも意志SimpleSelectListテンプレートが探しているものを知っていて、もう一度別の魔法の文字列に依存してはいけません...

どうやって人々はこれをしますか?ちょうどコードベースに乗ろうとすると、人々がこのようなことをする方法...

答えて

1

個人的に私はこの文脈ではViewData atallを使用しません。

ディクショナリをプロパティとして暗示するビューモデルを持つことは、よりクリーンで明確です。このビューモデルをビュー、部分ビュー、またはビューモデルの一部に渡すことができます(必要なデータに応じて)。

+0

はい...これも私の最初のアイデアでした。しかし、このシナリオではどうしますか?私は2つのことを解析する必要があります。表示するオブジェクトのリストと選択した値(ID)。あなたが見ることができるように、私はきれいな方法でそれを構造化する方法について疑問があります。 – Syska

関連する問題