2016-10-17 48 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

我也試過了 –

相關問題