MultiSelectListに選択した値を設定しようとしていますが、ページに選択した値が表示されません。私はこれを行うためにあらゆる実用的な方法を試しましたが、それでも同じ結果が得られます。現在、コンストラクターを介して、選択したオブジェクトのリストを渡そうとしています。MultiSelectListオブジェクトを調べると、selectedvaluesプロパティには、コンストラクターを使用して渡したアイテムが含まれていますが、それでも表示されません。
多くの人が同じ問題を抱えていることに気づきましたが、私にとって有効な答えは見当たりませんでした。リストを繰り返し処理して、選択したプロパティをtrueに設定し、複数選択リストを最初から作成して、個々のアイテムの選択したプロパティを設定し、コンストラクターを使用してみました。これらはどれも機能していません。また、MultiSelectListプロパティに(試した)コントロールと同じ名前を付けることができず、機能しないという提案も見つかりました。このフレームワークを使用して、選択した値でドロップダウンリストを作成するのが難しいのはなぜですか?私は何かが足りないのですか?
<label for="StatesOfPractice">States of Practice:</label>
<br />
<%= Html.ListBox("StatesOfPractice", Model.StatesOfPracticeList)%>
<br />
<%= Html.ValidationMessage("StatesOfPractice")%>
編集1
MultiSelectListをインスタンス化すると発生しているようです。ビューでオブジェクトを調べて結果ビューを開くと、「アラスカ」が選択されているはずなのに選択されていないことがわかります。
私はこのようにインスタンス化しています。
new MultiSelectList(List<GenericDataContract>, "Code", "Description", List<GenericDataContract>);
GenericDataContractは、CodeとDescriptionの2つのプロパティを持つ単純なクラスです。最初のリストはすべての州であり、2番目のリストは私の選択した州です。