0

Viewbag.typeofchange在控制器中使用将列表传递给视图。在创建网页/视图中,如果dropdownlist选择了一个项目,它将正确保存到实体模型/数据库中。

但是,在编辑网页/视图中,下拉列表显示原始值,但在保存页面时,如果未选择下拉列表中的新项目,则该值丢失。

在编辑视图中,如果dropdownlist选择 ,则新值将存储到数据库中。

如何保持dropdownlist变量的原始值,typeofchange以便在用户不选择项目时不会丢失?

控制器中的代码:

    List<SelectListItem> items = new List<SelectListItem>();
    items.Add(new SelectListItem { Text = "Red", Value = "Red" });
    items.Add(new SelectListItem { Text = "Green", Value = "Green" });
    items.Add(new SelectListItem { Text = "Blue", Value = "Blue" });
    items.Add(new SelectListItem { Text = "Other/Explain", Value = "Other" });
    ViewBag.typeofchange = items;

编辑视图中的代码:

    <div class="editor-field">
        @Html.DropDownList("typeofchange", Model.typeofchange)
    </div>

实体 CodeFirst 模型中的代码:

    [DisplayName("Type of Change")]
    public string typeofchange { get; set; }

我非常感谢反馈。

4

1 回答 1

0

您有两个变量,typeofchange 是在 ViewBag 中传递的 SelectList,typeofchange 是模型的一部分。您需要做的就是将模型 typeofchange 设置为选定的值,然后将为您设置相关 SelectListItem 的 Selected 属性。

于 2012-12-21T12:29:35.273 回答