2016-10-17 1 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; 

ENUM,

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

미리 감사드립니다.

+0

당신은 ViewBag이 채워지고하는 방법을 게시 할 수 있습니까? –

+0

@BviLLe_Kid 함수를 사용하여 질문을 편집했습니다. –

+0

모달을 다시 열 때 값으로 뷰백을 확인하십시오. –

답변

0

"as"키워드와 IEnumerable 인터페이스를 사용하는 대신 목록을 전송하려고 시도 했습니까?

(List<SelectListItem>)ViewBag.AddressTypeList 

아니면 selectList의 클래스와 같은 다른 방법을 사용하여 ...

+0

나는 그것을 시도했습니다. –

관련 문제