【发布时间】:2010-10-05 02:16:53
【问题描述】:
如果下拉列表没有选定的值,有没有办法包含默认的空选项(或带有文本)?
【问题讨论】:
标签: asp.net-mvc html.dropdownlistfor html-select
如果下拉列表没有选定的值,有没有办法包含默认的空选项(或带有文本)?
【问题讨论】:
标签: asp.net-mvc html.dropdownlistfor html-select
下面将在 ViewData["Menu"] 项中指定的 SelectList(或 IEnumerable)前添加 string.Empty。选择将具有 id 和名称 MenuID。
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
【讨论】:
这个简单的解决方案适用于我的 mvc5 项目:
在视图中:
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
只需将新项目添加到您要在视图中显示的List<>。
就我而言,我在List<ModelItem> ModelItemList 中添加了一个空的“ModelItem”。由于我的 ModelItemID 是一个 Guid,我必须在我的控制器方法中检查 Guid.Empty 并执行一些代码。
就是这样。
【讨论】:
这里介绍的解决方案对我来说效果很好:http://forums.asp.net/t/1142484.aspx/1
基本思想是您将DropDownList 的AppendDataBoundItems 属性设置为true,然后在DropDownList 中添加asp:ListItem,这将成为您的默认项,所有数据绑定项都在后面它。
【讨论】:
-1 这是用于 ASP.NET Web 窗体,而不是 MVC。