添加空 "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>
这正是我所需要的。
我有一个 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>
这正是我所需要的。