2014-10-03 64 views
0

我的班級是@ Html.LisboxFor模型綁定多個項目

public partial class Team 
    { 
     public int TeamId { get; set; } 
     public string TeamName { get; set; } 
     public string TeamDescription { get; set; } 
     public virtual IList<Trials> Trials { get; set; } 
    } 

試驗是anothetr CALSS

public partial class Trials 
    { 

     public int TrialID { get; set; } 
     public string Name { get; set; } 
     public int TrialTyp_RefID { get; set; } 
     public bool isChk { get; set; } 

     public virtual ICollection<Team> Team { get; set; } 
    } 

在我看來,我AMN試圖將ListBoxFor與試驗結合inseide球隊

@model Trials.Classes.Team 
    <td colspan="2">   
       @Html.ListBoxFor(model=> model.Trials, 
         new SelectList(ViewBag.trials,"TrialID", "Name"),     
         new { @class = "chosen-select", data_placeholder = "Select Trials...", style = "width:500px;", tabindex = "4" } 
         ) 
      </td> 

我無法得到任何值在控制器中的試驗測量..它顯示爲空,但我從列表中選擇多個值方框

回答

1

多重選擇僅回發一組原始值。它不回發覆雜對象的集合。

你需要一個視圖模型與屬性綁定的選擇Trials

public class TeamVM 
{ 
    public int TeamId { get; set; } 
    .... 
    public int[] SelectedTrials { get; set; } 
    public SelectList Trials { get; set; } // Assign this in your controller rather than using ViewBag 
} 

那麼在您查看

@Html.ListBoxFor(m => m.SelectedTrials, Model.Trials) 

當你回來後,Team.SelectedTrials將包含與所選TrialID值數組。

+0

感謝斯蒂芬....再次感謝澄清,我們不能這樣做...我已經嘗試了你所建議的字符串數組,並能夠獲得字符串數組中的值..... BUt我想知道如何綁定它直接與試驗O在團隊類中的對象...再次感謝 – Khan 2014-10-03 08:23:09

0

我改變了球隊班級爲

public partial class Team 
     { 
      public int TeamId { get; set; } 
      public string TeamName { get; set; } 
      public string TeamDescription { get; set; } 
      public virtual IList<Trials> Trials { get; set; 
      public int[] AuthorisedTrials { get; set; } 
    } 

,並查看

@model Trials.Classes.Team 
    <td colspan="2">   
       @Html.ListBoxFor(model=> model.AuthorisedTrials , 
         new SelectList(ViewBag.trials,"TrialID", "Name"),     
         new { @class = "chosen-select", data_placeholder = "Select Trials...", style = "width:500px;", tabindex = "4" } 
         ) 
      </td> 

,並在我的控制,我能夠得到Vlaues對選定的試驗