2013-07-24 72 views
0

我在我的视图模型包含2倍欧3倍的值列表dymically FOM列表:创建一个组合框在一个视图模型9+ MVC

public class person 
{ 
    List<string> civility{get;set;} 
    string nom {get;set;} 
    sting prenom {get;set;} 
} 

我如何能在映射到文明属性视图中创建一个组合框。我们有时会组合框,如果列表中包含2个值等,有时3如果列表中包含3,并获得价值提交

+0

你的问题不清楚。对于发回属性的正确选择列表,您需要*两件*:选择列表的数据源和用于存储选择列表中*选择*值的属性。如果您发回相同的属性,您从中获得了您的选择列表,然后您将覆盖您的选择列表。 –

+0

我需要显示列表 civility {get; set;}作为combox在视图 – user1428798

回答

1

这在技术上是那么容易,因为:

@Html.DropDownList("FieldName", Model.civility.Select(m => new SelectListItem { Value = m, Text = m })); 

你会用一些类似于结束:

<select id="FieldName" name="FieldName"> 
    <option value="CivilityItem1">CivilityItem1</option> 
    ... 
</select> 

如果你想它绑定到实际的属性在模型(你需要的属性首先添加到您的模型)

@Html.DropDownListFor(m => m.SelectedCivility, Model.civility.Select(m => new SelectListItem { Value = m, Text = m })) 
+0

我需要一个comboboxList而不是dropDownList – user1428798

+1

下拉列表== combobox ==选择框。对于同一件事,它们都是不同的名字。唯一的区别是如果你想要一个多重选择,在这种情况下,你会使用'Html.ListBoxFor' –

+0

@ChrisPratt:感谢指向ListBoxFor,我花了几个小时试图解决它之前学习这个函数存在。除非你知道MVC中多重选择是如何调用的,否则不容易。 –

相关问题