在ASP.NET Core中,可以通过使用Html.DropDownListFor
方法来绑定模型到多个选择列表。以下是一个示例代码:
在控制器中:
public IActionResult Index()
{
var model = new MyViewModel();
// 设置选择列表的选项
model.Colors = new List
{
new SelectListItem { Value = "Red", Text = "Red" },
new SelectListItem { Value = "Blue", Text = "Blue" },
new SelectListItem { Value = "Green", Text = "Green" }
};
model.Sizes = new List
{
new SelectListItem { Value = "Small", Text = "Small" },
new SelectListItem { Value = "Medium", Text = "Medium" },
new SelectListItem { Value = "Large", Text = "Large" }
};
return View(model);
}
[HttpPost]
public IActionResult Index(MyViewModel model)
{
// 在提交表单后,可以在这里访问选定的颜色和尺寸
var selectedColor = model.SelectedColor;
var selectedSize = model.SelectedSize;
return View(model);
}
在视图中:
@model MyViewModel
@using (Html.BeginForm())
{
@Html.DropDownListFor(m => m.SelectedColor, Model.Colors, "Select color")
@Html.DropDownListFor(m => m.SelectedSize, Model.Sizes, "Select size")
}
在上述代码中,MyViewModel
是一个包含Colors
和Sizes
属性的视图模型类。Colors
和Sizes
属性都是List
类型的,用于存储选择列表的选项。SelectedColor
和SelectedSize
属性分别用于存储用户选择的颜色和尺寸。
在控制器的Index
方法中,首先创建一个MyViewModel
实例,并为Colors
和Sizes
属性设置选择列表的选项。然后,将该模型传递给视图。
在视图中,使用Html.DropDownListFor
方法分别创建颜色和尺寸的选择列表。m => m.SelectedColor
和m => m.SelectedSize
表示将选定的值绑定到SelectedColor
和SelectedSize
属性。Model.Colors
和Model.Sizes
分别是选择列表的选项。最后,使用Html.BeginForm
方法创建一个表单,用户可以在选择完颜色和尺寸后提交表单。
在控制器的HttpPost
方法中,可以通过model.SelectedColor
和model.SelectedSize
获取用户选择的颜色和尺寸。