2016-10-17 25 views
0

我使用从ViewBag填充的下拉列表。模型名称和ViewBag名称不同,并且即时使用该场景的特殊ID。下拉列表选定的值不能与ViewBag一起使用

@foreach (var address in Model.CustomerAddresses){ 
<div id="[email protected]"> 
    @Html.DropDownListFor(model => address.AddressType, ViewBag.AddressTypeList as IEnumerable<SelectListItem>, "Select a Type", new { @class = "form-control", id = "type_" + @address.Id }) 
</div> 

当编辑选项的模式重新打开时,选定的值未在下拉列表中选择。视图包由一个枚举生成。

---- -----编辑

这是如何生成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; 

枚举,

public enum AddressType 
    { 
     Permanent = 1, 
     Residence = 2, 
     Office = 3, 
     Other = 5 
    } 

在此先感谢

+0

你能后得到的是如何填充ViewBag? –

+0

@BviLLe_Kid我编辑了功能 –

+0

问题当你重新打开模式时,检查viewbag是否值。 –

回答

0

您是否尝试过使用“as”关键字和IEnumerable接口来投射您的列表?

(List<SelectListItem>)ViewBag.AddressTypeList 

或者可能使用另一种方法,就像的SelectList类...

+0

我也试过了 –

相关问题