2011-03-10 3 views
0
여기

내 뷰 모델이며,MVC 생성 DropDownLists 동적

공용 클래스 FormGroupsAssociationViewModel : BaseViewModel {

public FormGroupsAssociationViewModel() 
    { 
     FormTypeFormGroupViewModels = new List<FormTypeFormGroupViewModel>(); 
    } 

    public FormGroupsAssociationViewModel(IList<FormTypeFormGroupViewModel> formTypeFormGroupViewModels) 
    { 
     this.FormTypeFormGroupViewModels = formTypeFormGroupViewModels; 

    } 

    public IList<FormTypeFormGroupViewModel> FormTypeFormGroupViewModels { get; set; } 

} 

공용 클래스 FormTypeFormGroupViewModel {

public FormTypeFormGroupViewModel() 
    { 

    } 

    public FormTypeFormGroupViewModel(FormType formType, IEnumerable<FormGroup> formGroups) 
    { 
     this.FormTypeId = formType.FormTypeID; 
     this.Title = formType.Title; 
     this.FormGroups = new SelectList(formGroups, "FormGroupId", "Title", "3"); 
    } 

    public int FormTypeId; 
    public string Title; 
    public SelectList FormGroups; 
    public int SelectedFormGroup; 

} 

과를 heres보기 :

@for (int i = 0; i < Model.FormTypeFormGroupViewModels.Count; i++) 
     { 
      <tr> 
       <td> 
        @Model.FormTypeFormGroupViewModels[i].Title 
       </td> 
       <td> 
        @Html.DropDownListFor(model => Model.FormTypeFormGroupViewModels[i].SelectedFormGroup, Model.FormTypeFormGroupViewModels[i].FormGroups) 
       </td> 
      </tr> 
     } 

그리고 마침내 컨트롤러입니다 : 내가있어

[HttpPost] 
    [UnitOfWork] 
    public String Associations(FormGroupsAssociationViewModel model) 
    { 

     String s = string.Empty; 

     foreach (var formTypeFormGroupViewModel in model.FormTypeFormGroupViewModels) 
     { 
      s = s + formTypeFormGroupViewModel.SelectedFormGroup.ToString(); 
     } 

     return s; 

    } 

문제는 SelectedFormGroup 오히려 실제 selectedValue보다 0을 반환합니다. 누구든지 아이디어가 있다면 크게 감사 할 것입니다.

건배

가레스

답변

0

내 뷰 모델에서

이것을 해결의 SelectedFormGroup는 다음과 같이 선언했다 :

public int SelectedFormGroup{get; set;} 
:

public int SelectedFormGroup; 

이 변경 될 필요가