添加空 "please select" 选项到 ASP.NET Core MVC 2.1 select asp - 用于控制

Adding a null "please select" option to a ASP.NET Core MVC 2.1 select asp-for control

我有一个 ASP.NET Core (2.1) 网站,EF Core 命中 SQL 服务器。

我已经生成了控制器以及列表、详细信息、编辑和删除页面,它们使用视图数据中的 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>

表单中的默认行为是显示列表中的第一项,而不是什么都不显示。

Where/how 是否要向 SelectList 添加空 "please select" 值?或者我需要在其他地方注入它,在上面的代码之前或之后?

在这里找到答案:

将我的视图代码更改为:

<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>

这正是我所需要的。