ASP.NET MVC的下拉列表中有一个默认的空选项
如果没有select的下拉列表的值,是否有一种方法可以包含默认的空白选项(或文本)?
下面的代码将预先将string.Empty添加到ViewData [“Menu”]项目中指定的SelectList(或IEnumerable)。 select将有ID和名称MenuID
。
<%= Html.DropDownList( "MenuID", (IEnumerable<SelectListItem>)ViewData["Menu"], string.Empty ) %>
文档: DropDownList方法
例如:
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"})
结果:
这个简单的解决scheme为我的mvc5项目工作:
鉴于:
@{ Model.ModelItemsList.Add(new ModelItem{ }); SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName"); }
只需添加一个新的项目到您想要显示在您的视图中的List<>
。 在我的例子中,我添加了一个空的“ModelItem”到我的List<ModelItem> ModelItemList
。 由于我的ModelItemID是一个Guid,我不得不在我的控制器方法检查Guid.Empty并做一些代码。 就这样。
这里给出的解决scheme对我来说效果很好: http : //forums.asp.net/t/1142484.aspx/1
其基本思想是将DropDownList
的AppendDataBoundItems
属性设置为true
,然后在DropDownList
放置一个asp:ListItem
,它将成为默认的项目,并且所有的数据绑定项目都在它后面。