在ASP.NET Core 6 MVC中,下拉菜单是用户交互中常用的一个功能,但是在实际开发中会遇到下拉菜单数据绑定的问题。下面给出具体的解决方法。
在ViewModel类中定义下拉菜单的选项列表,如下所示:
public class MyViewModel
{
public int SelectedValue { get; set; }
public IEnumerable SelectOptions { get; set; }
}
在Controller类中为下拉菜单定义数据源,并返回到View页面。如下所示:
public IActionResult Index()
{
var selectList = new List();
selectList.Add(new SelectListItem() { Value = "1", Text = "Option1" });
selectList.Add(new SelectListItem() { Value = "2", Text = "Option2" });
selectList.Add(new SelectListItem() { Value = "3", Text = "Option3" });
var viewModel = new MyViewModel()
{
SelectOptions = selectList
};
return View(viewModel);
}
在View中使用Html.DropDownListFor方法将下拉菜单和数据源绑定起来。如下所示:
@model MyViewModel
@Html.DropDownListFor(m => m.SelectedValue , new SelectList(Model.SelectOptions, "Value", "Text"), "Please select an option", new { @class = "form-control" })
这样就可以解决ASP.NET Core 6 MVC中的下拉菜单数据绑定问题。