在 Razor 视图中使用 Html.DropDownListFor() 方法来生成下拉列表,如果不选中任何选项,则会将表单提交的值设置为 Null。但是,这会导致下拉列表中的所有选项都被选择,这不是我们所期望的行为。
为了解决这个问题,我们需要手动添加一个空的下拉列表选项,这样当用户没有选择任何选项时,就会选择这个空选项。这是一个解决方法的示例代码:
Controller 代码:
public IActionResult Index()
{
List
options.Add(new SelectListItem { Text = "Option 1", Value = "1" });
options.Add(new SelectListItem { Text = "Option 2", Value = "2" });
options.Add(new SelectListItem { Text = "Option 3", Value = "3" });
ViewBag.Options = options;
return View();
}
Razor 视图代码:
@{
List
}
@Html.DropDownListFor(m => m.SelectedOption, options, "-- Select --")
在上面的代码中,我们添加了一个空的选项 "-- Select --"。这个选项的值为 Null。这样当用户没有选择任何选项时,表单提交的值将被设置为 Null。同时,我们使用 ViewBag 来传递选项列表。在 Razor 视图中,我们使用 Html.DropDownListFor() 方法来生成下拉列表,并在选项列表的第一项添加了空选项。
这样,我们就解决了 ASP.NET Core 5 MVC 空下拉列表选项的问题。