我使用从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>
重新打开编辑选项的模态时,未在下拉列表中选择所选值。视图包由枚举生成。
----编辑-----
这是视图包的生成方式,
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;
枚举,
public enum AddressType
{
Permanent = 1,
Residence = 2,
Office = 3,
Other = 5
}
提前致谢
答案 0 :(得分:0)
您是否尝试过强制转换列表而不是使用“as”关键字和IEnumerable接口?
(List<SelectListItem>)ViewBag.AddressTypeList
或者可能使用其他方式,例如 SelectList 类...