我在控制器中使用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; }
我真的很感激反馈。
答案 0 :(得分:0)
你有两个变量,typeofchange是在ViewBag中传递的SelectList和typeofchange,它是模型的一部分。您需要做的就是将模型typeofchange设置为所选值,并为您设置相关SelectListItem的Selected属性。