有什么优雅的方法可以创建这样的东西吗
<select>
<option value="" disabled selected>Select your option</option>
<option value="1">Option1</option>
</select>
在 ASP.NET MVC 4 中使用 @Html.DropDownListFor helper?
http://jsfiddle.net/wLAt8/
不幸的是不是。没有办法向SelectListItem
添加属性,这就是渲染为<option>
您需要扩展 SelectListItem
类,然后扩展DropDownListFor
才能使用它。不幸的是,这不是很简单...为此目的,如果有一本关于SelectListItem
的Attributes
词典,那就太好了。
下面是正在应用的自定义属性的实现:
在 Html.DropDownList 中的
这是使用标记帮助程序执行此操作的一种方法。
<select asp-for="@Model.Orders.FruitsId" class="form-control">
<option value="">Select a Fruit</option>
@foreach (var Fruit in Model.Fruits )
{
if (barber.Name.Equals("Orange"))
{
<option disabled="disabled" value="@Fruit.Id">@Fruit.Name </option>
}
else
{
<option value="@Fruit.Id">@Fruit.Name </option>
}
}
</select>
在挣扎之后,我通过js函数完成了此操作:
function handleSubAction(select) {
var item = document.getElementById(select);
item.children[0].disabled = true;
item.children[0].hidden= true;
return false;
}
和 HTML 中的事件处理程序:
<body onload="handleSubAction('subAction');"/>