Here's an example that has 7 drop downs on the page, each with the same 5 options. Each drop down can have a different option selected.
In my view, I have the following code inside my form:
<%= Html.DropDownListFor(m => m.ValueForList1, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList2, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList3, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList4, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList5, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList6, Model.AllItems)%>
<%= Html.DropDownListFor(m => m.ValueForList7, Model.AllItems)%>
Then I have a viewmodel like this:
public class HomePageViewModel
{
public List<SelectListItem> AllItems { get; set; }
public string ValueForList1 { get; set; }
public string ValueForList2 { get; set; }
public string ValueForList3 { get; set; }
public string ValueForList4 { get; set; }
public string ValueForList5 { get; set; }
public string ValueForList6 { get; set; }
public string ValueForList7 { get; set; }
public HomePageViewModel()
{
AllItems = new List<SelectListItem>
{
new SelectListItem {Text = "First", Value = "First"},
new SelectListItem {Text = "Second", Value = "Second"},
new SelectListItem {Text = "Third", Value = "Third"},
new SelectListItem {Text = "Fourth", Value = "Fourth"},
new SelectListItem {Text = "Fifth", Value = "Fifth"},
};
}
}
Now in your controller method, declared like this:
public ActionResult Submit(HomePageViewModel viewModel)
The value for viewModel.ValueForList1 will be set to the selected value.
Of course, I'd suggest using some kind of enum or ids from a database as your value.