将空"please select"选项添加到 ASP.NET 核心 MVC 2.1 选择"asp-for 控件"



我有一个 ASP.NET Core(2.1(网站,EF Core点击SQL Server。

我已经生成了控制器以及列表、详细信息、编辑和删除页面,这些页面使用 viewdata 中的 SelectList 在视图中显示有效值的列表,但该字段可为空,我需要能够不强制将值强制进入某些下拉框(默认情况下,它们当前显示列表中的第一个值(。

控制器行如下所示(例如(:

ViewData["VendorId"] = new SelectList(_context.Vendor, "Id", "Name");

视图如下所示:

<div class="form-group">
<label asp-for="VendorId" class="control-label" style="font-weight:bold"></label>
<select asp-for="VendorId" class="form-control" asp-items="ViewBag.VendorId"></select>
</div>

窗体中的默认行为是显示列表中的第一项,而不是不显示任何内容。

在哪里/如何将空的"请选择"值添加到选择列表?还是我需要在上面的代码之前或之后将其注入其他地方?

在这里找到答案:使用选择标签助手设置默认值/空值

将我的视图代码更改为:

<div class="form-group">
<label asp-for="VendorId" class="control-label" style="font-weight:bold"></label>
<select asp-for="VendorId" class="form-control" asp-items="ViewBag.VendorId">
<option selected></option>
</select>
</div>

这给了我我所需要的。

最新更新