81

如果下拉列表没有选定值,有没有办法包含默认的空选项(或带有文本)?

4

4 回答 4

130

下面将在 ViewData["Menu"] 项中指定的 SelectList(或 IEnumerable)前面添加 string.Empty。选择将具有 id 和 name MenuID

<%= Html.DropDownList( "MenuID",
                      (IEnumerable<SelectListItem>)ViewData["Menu"],
                      string.Empty ) %>

文档:DropDownList 方法

于 2009-02-03T04:39:52.463 回答
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"})

结果 :

内嵌图片

于 2016-02-01T17:00:22.603 回答
1

这个简单的解决方案适用于我的 mvc5 项目:

鉴于:

@{
     Model.ModelItemsList.Add(new ModelItem{ });
     SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}

只需将新项目添加到List<>要在视图中显示的项目即可。就我而言,我在我的List<ModelItem> ModelItemList. 由于我的 ModelItemID 是一个 Guid,我必须在我的控制器方法中检查 Guid.Empty 并执行一些代码。就这样。

于 2014-06-16T22:19:46.597 回答
-8

这里提出的解决方案对我来说效果很好:http ://forums.asp.net/t/1142484.aspx/1

基本思想是,您将to的AppendDataBoundItems属性设置为然后将其放入,这将成为您的默认项,所有数据绑定项都在其后。DropDownListtrueasp:ListItemDropDownList

于 2013-02-01T21:39:25.700 回答