2013-08-07 28 views
1

我已经绑定了来自实体框架的列表框数据。我在该列表框中选择了多个值。但是,价值观并未被解雇。该属性的数量仅为0。我使用下面的代码:ListBox的多个选择在asp.net中不起作用mvc4

public class Sample1 
{ 
[Key] 
public int SampleId{ get; set; } 
public string SampleDesc{ get; set; } 
} 
public class ExpModel 
{ 
public List<Sample1> Sample{ get; set; } 
} 
public ActionResult Index() 
{  
ViewData["SampleList"] = new List<Sample1>(entity.samp); 
return View(); 
} 
@Html.ListBoxFor(model => model.Sample, new SelectList(((List<Details.Models.Sample1>)ViewData["SampleList"]), "SampleId", "SampleDesc")) 

我该怎么办?请帮我...

+0

请张贴您的模型和您的控制器操作。 – ataravati

回答

0

您应该ListBoxFor助手绑定到简单/标值,如字符串或整数集合的属性:

public class Sample1 
{ 
    [Key] 
    public int SampleId { get; set; } 
    public string SampleDesc { get; set; } 
} 

public class ExpModel 
{ 
    public List<int> SelectedSampleIds { get; set; } 
} 

然后:

public ActionResult Index() 
{  
    ViewData["SampleList"] = new List<Sample1>(entity.samp); 
    return View(); 
} 

,并在您的视图:

@Html.ListBoxFor(
    model => model.SelectedSampleIds, 
    new SelectList(
     (List<Details.Models.Sample1>)ViewData["SampleList"], 
     "SampleId", 
     "SampleDesc" 
    ) 
) 

现在,当提交表单时,SelectedSampleIds COLLEC将在列表框中包含选定的ID。

+0

感谢Darin Dimitrov.I明白了。 – user2285613

相关问题