I am trying to set the selected values for a MultiSelectList but the page does not display any values as selected. I have tried every practical way to do this and still get the same results. I am currently trying to pass a list of selected objects in via the constructor. What gets me is that when i inspect MultiSelectList object, the selectedvalues property contains the items that I have passed into it using the constructor but it still does not dispaly.
I have noticed that many people are having the same problem but I have not seen an answer that has worked for me. I have tried iterating through the list and setting the selected property to true, i have tried creating the multiselectlist from scratch and setting each individual items selected property and I have tried using the constructor. None of these have worked. I also found an a suggestion that the MultiSelectList property could not be named the same as the control (which I tried) and that did not work. Srsly, why is it so difficult to create a dropdown list with selected values using this framework? Am I missing something?
States of Practice:
<%= Html.ListBox("StatesOfPractice", Model.StatesOfPracticeList)%>
<%= Html.ValidationMessage("StatesOfPractice")%>
EDIT #1
It appears to be happening when I instantiate the MultiSelectList. If I inspect the object in the View and open the Results View I can see that "Alaska" is not selected when I know that it should be.
I am instantiating like this.
new MultiSelectList(List, "Code", "Description", List);
The GenericDataContract is simply a class with two properties, Code and Description. The first List is all of the states, the second List is my selected states.