使用选择标记助手设置默认值/空值

本文关键字:设置 默认值 空值 选择 | 更新日期: 2023-09-27 18:30:42

在 asp.net mvc 中,您可以使用:

@Html.DropDownListFor(model => model.Category, ViewBag.Category as IEnumerable<SelectListItem>, "-- SELECT --", new { @class = "form-control" })

使用 asp.net 5,如何在标记助手中包含默认值或空值 (-- SELECT --):

<select asp-for="Category" asp-items="@ViewBag.Category"  class="form-control"></select>

使用选择标记助手设置默认值/空值

您可以在选择中插入一个选项项:

<select asp-for="Category" asp-items="@ViewBag.Category"  class="form-control">
    <option disabled selected>--- SELECT ---</option>
</select>

上面代码中的 disabled 关键字意味着一旦在列表中选择了选项,就无法再次选择"--- SELECT ---"行。如果您希望用户能够再次清空选择(即,如果它绑定到可为空的字段),则只需省略禁用即可。

如果要将值 null 存储到数据库,请使用 <option selected value="">Full Access</option>

如果你的模型使用asp-items,它对选定的项使用值0,如果你的默认字符串有标签<option>没有值,

您必须对<option>使用循环,并将默认选项置于循环之外。这是使用 asp-items 的 .Net Core 示例:

<select asp-for="DepartmentUnit" asp-items="@Model.DepartmentUnits" class="form-control"></select>

现在这是使用循环的另一个示例:

<select>
<option val="">--Select--</option>
foreach(item in Model.DepartmentUnits)
{<option val="@item.val">@item.title</option>}
</select>

Matt 的这个答案:

    <select asp-for="Category" asp-items="@ViewBag.Category"  class="form-control">
        <option disabled selected>--- SELECT ---</option>
    </select>

也适用于验证。可能是由于该选项disabled它似乎不是一个有效的选择。

顺便说一句:这也适用于MVC Core 3;-)