ページに 7 つのドロップダウンがあり、それぞれに同じ 5 つのオプションがある例を次に示します。各ドロップダウンでは、異なるオプションを選択できます。
私の見解では、フォーム内に次のコードがあります。
<%= 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)%>
次に、次のようなビューモデルがあります。
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"},
};
}
}
コントローラーメソッドで、次のように宣言します。
public ActionResult Submit(HomePageViewModel viewModel)
viewModel.ValueForList1 の値は、選択した値に設定されます。
もちろん、データベースからのある種の列挙型または ID を値として使用することをお勧めします。