2016-01-18 172 views
13

在asp.net的MVC,你可以使用:设置默认/空值与选择TagHelper

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

使用asp.net 5,我怎么包括默认或空值( - 选择 - )在taghelper:

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

回答

21

您只需插入一个选项物品内部的选择:

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

上面代码中的disabled关键字意味着一旦在列表中选择了一个选项,就不能再次选择“--- SELECT ---”行。如果您希望用户能够再次将选择空白(即,如果它绑定到可空字段),那么只需省略禁用。

+1

那么简单,一旦你知道如何感谢马特。 – Reafidy

+1

谢谢,这对我有帮助! –

+1

我需要将该选项的值设置为空字符串,以允许用户将基础空值int字段清空: DeveloperDan

0

如果使用ASP的物品模型,它使用值0选定的项目,如果有标签<option>有没有价值你的默认字符串,

你必须使用一个循环为<option>,把你的默认选项超出循环。 这是使用ASP的项目对.NET核心的例子:

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