如果下拉列表中没有选定值,是否可以包含默认的空选项(或文本)?
答案 0 :(得分:125)
下面将string.Empty添加到ViewData [“Menu”]项中指定的SelectList(或IEnumerable)。 select将具有id和名称MenuID
。
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
答案 1 :(得分:7)
例如:
Controller :
private void InitScreenInfoCollate()
{
IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode("");
ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null);
}
View :
@Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})
结果:
答案 2 :(得分:0)
这个简单的解决方案适用于我的mvc5项目:
在视图中
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
只需将新项目添加到要在视图中显示的List<>
即可。
就我而言,我添加了一个空的&#34; ModelItem&#34;到我的List<ModelItem> ModelItemList
。由于我的ModelItemID是一个Guid,我不得不在我的控制器方法中检查Guid.Empty并做一些代码。
多数民众赞成。
答案 3 :(得分:-6)
此处提供的解决方案非常适合我:http://forums.asp.net/t/1142484.aspx/1
基本的想法是,您将AppendDataBoundItems
的{{1}}属性设置为DropDownList
,然后将true
放入asp:ListItem
,这将成为DropDownList
您的默认项目,包含所有数据绑定项目。