DropdownListFor
関数を使用してドロップダウンリストを作成しようとしていて、値を選択したいとします。asp.netで選択した値MVC 4.0のドロップダウンリスト
私は多くのことを検索しViewModel
でSelectList
オブジェクトを持つの溶液の似たようなものを発見した、私はこの
SelectList
のプロパティを使用し、私の
ViewModel
では、それをこの
のようなものを試してみました
SelectList HoursToSelect = new SelectList(MyDictionaryObject, "Value", "Key", 14/*selected value*/);
と私は、この
@Html.DropDownListFor(m => m.EndsOnHour, HoursToSelect)
このすべての仕事をしていた罰金Aのようにそれを使用していましたNDは完全に
私の要件を満たししかし、問題は、私のプロジェクトはViewModel
で非直列化可能クラッセを許可しないように私は私のViewModel
でSelectList
オブジェクトを使用することはできません私のプロジェクトのアーキテクチャによるものです。
だから、私のために残された唯一の方法は、唯一の私の見解で何かを持つことで、ここで何か
@Html.DropDownListFor(m => m.EndsOnHour, new SelectList(Model.Hours, "Value", "Key"))
しかし、何を知りません! これを達成するアイデアはありますか?
クライアント側の検証は手動で行う必要があります。カスタムモデルのバインダーは、これを使用するためのより多くの手動適応が必要です。おそらく定義されたEditorTemplatesへのフックはありません。そして、より多くのコード。最後のものは定義ごとに悪くはないが、このforeachループをドロップダウンリストが定義されているすべてのビューにコピーして貼り付けることです。 'DropDownListFor'は実際にはドロップダウンリストを生成するうえで、モデルのプロパティにバインドするだけです。何らかの理由で本当にこの方法が嫌い(5分以上を費やしている)場合は、独自のHTMLヘルパーを作成することをおすすめします。 –