KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm having trouble with DropDownListFor in my MVC3 app. I was able to use StackOverflow to figure out how to get them to appear on the View, but now I don't know how to capture the values in its corresponding properties on the View Model when it's submitted. In order to get this to work I had to create an inner class that had an ID and a value property, then I had to use an IEnumerable<Contrib> to satisfy the DropDownListFor parameter requirements. Now, however, how is MVC FW supposed to map the value that is selected on this drop-down back into the simple string property on my view model? public class MyViewModelClass { public class Contrib { public int ContribId { get; set; } public string Value { get; set; } } public IEnumerable<Contrib> ContribTypeOptions = new List<Contrib> { new Contrib {ContribId = 0, Value = "Payroll Deduction"}, new Contrib {ContribId = 1, Value = "Bill Me"} }; [DisplayName("Contribution Type")] public string ContribType { get; set; } } In my View I place the dropdown on the page like this: <div class="editor-label"> @Html.LabelFor(m => m.ContribType) </div> <div class="editor-field"> @Html.DropDownListFor(m => m.ContribTypeOptions.First().ContribId, new SelectList(Model.ContribTypeOptions, "ContribId", "Value")) </div> When I submit the form the ContribType is (of course) null. What is the correct way to do this?
Tags (comma-separated)
Save Edits
Cancel