如果没有数据,则如何在MVC4的下拉列表中提供数据时显示默认消息

时间:2012-10-03 12:19:13

标签: asp.net-mvc

我将下拉列表与一些数据绑定,并在下拉列表中显示所选数据。使用以下代码可以正常工作。

@Html.DropDownListFor(modelItem => item.UniformCommentSelected,
                                   new SelectList(item.UniformComment),
                                   item.UniformCommentSelected)

现在我想为下拉列表添加默认消息“选择”。 我还想在下拉列表中显示所选值(如果有),如果没有,则显示“选择”。

如果我在DropDownListFor中将“Select”作为第三个参数,那么它会为所有用户显示“Select”。如果我在下拉列表中将“选择”作为第四个参数,则没有任何反应。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

尝试使用以下代码。

@Html.DropDownListFor(modelItem => item.UniformCommentSelected, new SelectList(item.UniformComment),item.UniformCommentSelected == null ? "---Select---" : item.UniformCommentSelected)

答案 1 :(得分:0)

在我的项目中,我填写下面的下拉列表

@Html.DropDownListFor(model => model.CountryId, new SelectList(Model.Countries, "ID", "Name"), "select", new { @ID = "ddlCountry", @class = "text", Style = "width: 150px;", onchange = "javascript:cascadingdropdown();" })

我认为这会对你有所帮助

答案 2 :(得分:0)

我通常绑定到SelectListItem的集合,并手动将“Please select one ...”选项的空白添加到该集合。在控制器中(或在渲染下拉列表之前的视图中),我为所选选项设置了.Selected = true。