0

ViewModel に 2 つまたは 3 つの値を含むリストがあります。

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

Civility プロパティにマップされたビューでコンボボックスを作成するにはどうすればよいですか。リストに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 に答える