2014-07-02 22 views
0

我試圖獲取單選按鈕集合回發。我能夠在窗體上顯示它們,當我提交我收到它在我的控制器上,但列表是空的,我在這裏做錯了什麼?強類型單選按鈕列表不回發,從視圖中收到時顯示爲空

視圖模型

public class ProfileViewModel 
{ 
    public class FederalClassificationViewModel 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
     public bool IsSelected { get; set; } 
    } 

    public IList<FederalClassificationViewModel> federalClassificationsRadioViewModel { get; set; } 
} 

控制器

//Retrieve all available radio buttons for tax information form 
    var allTaxFederalClassList = _taxFederalRepo.GetAllTaxFederalClassesList(); 

    foreach (var federalClass in allTaxFederalClassList) 
    { 
     ProfileViewModel.FederalClassificationViewModel federalClassVM = new ProfileViewModel.FederalClassificationViewModel(); 

     federalClassVM.IsSelected = false; 
     federalClassVM.Name  = federalClass.Name; 
     federalClassVM.Id   = federalClass.id; 

     model.federalClassificationsRadioViewModel.Add(federalClassVM); 
    } 

VIEW

@foreach(var radio in Model.federalClassificationsRadioViewModel) 
{ 
    @Html.RadioButtonFor(p=>p.federalClassificationsRadioViewModel, radio) @radio.Name 
} 

新的結果

@for(int i=0; i<Model.federalClassificationsRadioViewModel.Count; i++) 
{ 
    @Html.RadioButtonFor(p=>p.federalClassificationsRadioViewModel[i].IsSelected, Model.federalClassificationsRadioViewModel[i].Id) @Model.federalClassificationsRadioViewModel[i].Name 
} 

更新的結果

enter image description here

+1

可能重複:編輯器列表(http://stackoverflow.com/questions/24533985/mvc-editor-for-a-list-of-data) –

+0

重複的:http://stackoverflow.com/questions/24533985/mvc-editor-爲數據清單 –

+0

我的問題與您發佈的問題不一樣,我沒有看到隨處使用Helper(RadioButtonFor)...順便說一句,您的兩條評論都有完全相同的鏈接。 – Dayan

回答

1

編輯:

更改喜歡你的視圖模型:

public class ProfileViewModel 
{ 

    public class FederalClassificationViewModel 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
     public bool IsSelected { get; set; } 
    } 

    public int SelectedClass {get;set;} 
    public IList<FederalClassificationViewModel> federalClassificationsRadioViewModel { get; set; } 
} 

更改foreachfor循環:

@for(int i=0; i<Model.federalClassificationsRadioViewModel.Count; i++) 
    { 
     @Html.RadioButtonFor(p=>p. 
SelectedClass,Model.federalClassificationsRadioViewModel[i].Id) @Model.federalClassificationsRadioViewModel[i].Name 
    } 

你需要了解的ListCollectionArrays模型綁定,就可以看到[MVC的details here