0

我的 ViewModel 中有一个包含 2 或 3 个值的列表:

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

如何在映射到文明属性的视图中创建组合框。有时如果列表包含 2 个值,我们会显示组合框,有时如果列表包含 3,则显示 3,并在提交中获取值

4

1 回答 1

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 }))
于 2013-07-24T16:17:27.810 回答