0

使用 MVC,我通过下拉列表显示列表“DeliveryRunList”。

“选择”是用户看到的选项,如果用户单击下拉菜单并选择“选择”作为他们的选择,它会将值存储为 NULL,这很好。

但是,当单击下拉菜单时,无论如何将“选择”更改为“无值”,因此它将存储为空,但在单击下拉菜单之前仍显示为“选择”。

 <div class="editor-label">@Html.DropDownList("DeliveryRunId", Model.DeliveryRunList, "Select")</div>
4

2 回答 2

2

您可以使用 jQuery 轻松实现此目的:

$(function () {
    $('#DeliveryRunId').focus(function () {
        $('#DeliveryRunId option:first-child').text('No Value');
    });
});
于 2013-09-11T13:06:06.510 回答
1

我最近遇到了类似的问题,但我没有像 Mike 所说的那样使用 JQuery(这也是完成任务的好方法),而是从控制器手动将其添加到 DropdownListFor Html 帮助器的选择列表中,并将其放入Viewbag 并将其发送给它。

    List<SelectListItem> DropDownValues= new List<SelectListItem>();
    DropDownValues.Add(new SelectListItem() { Text = "-Select-", Value = "No Value" });
    DropDownValues.Add(new SelectListItem() { Text = "Text 1", Value = "1.ToString()" });
    DropDownValues.Add(new SelectListItem() { Text = "Text 2", Value = "2.ToString()" });

    ViewBag.DropDownValueList= new SelectList(DropDownValues, "Value", "Text");

在你看来,

@Html.DropDownListFor(model => model.DropDownName, (SelectList)ViewBag.DropDownValueList)

我没有检查此代码,但我记得这样做,它应该可以工作..如果可以,请告诉我..

于 2013-09-12T08:17:30.747 回答