下拉列表选择的值与ViewBags不工作
本文关键字:ViewBags 工作 选择 下拉列表 | 更新日期: 2023-09-27 18:13:25
我使用从ViewBag填充的下拉列表。模型名和ViewBag名是不同的,我使用了一个特殊的id。
@foreach (var address in Model.CustomerAddresses){
<div id="div_@address.Id">
@Html.DropDownListFor(model => address.AddressType, ViewBag.AddressTypeList as IEnumerable<SelectListItem>, "Select a Type", new { @class = "form-control", id = "type_" + @address.Id })
</div>
当编辑选项的模式被重新打开时,被选中的值不会在下拉列表中被选中。view bag是从enum中生成的。
----编辑-----
这是viewbag是如何生成的,
SelectList addressTypes = new SelectList(Data.GetAdressType());
ViewBag.AddressTypeList = addressTypes;
功能,
List<string> type = Enum.GetNames(typeof(WebApp.Common.Utils.Meta.Constants.AddressType)).ToList();
type.Sort();
return type;
enum, public enum AddressType
{
Permanent = 1,
Residence = 2,
Office = 3,
Other = 5
}
Thanks in advance
您是否尝试过cast您的列表而不是使用"as"关键字和IEnumerable接口?
(List<SelectListItem>)ViewBag.AddressTypeList
或者使用其他方法,比如SelectList class…