0

まず、関連するすべての質問を確認しましたが、どれも問題を解決しません。

次のように、複数のプロパティを持つ ASP.NET MVC Html ヘルパー Dropdownlistfor を使用しています。

@Html.DropDownListFor(m => m.SelectedPeople, 
                       Model.People, 
                       new { multiple = "multiple" })

/* Viewmodel for my view */
public class MyModel
{
    public IEnumerable<SelectListItem> People       { get; set; }
    public IEnumerable<string> SelectedPeople       { get; set; }
} 

ドロップダウンリストに選択した値を事前入力しない場合。それは正常に動作します。選択した値は問題なくアクション メソッドにポストされます。

ただし、ドロップダウンリストに事前入力したい場合、機能しません。次のようにドロップダウンリストに入力します。

model.People = new[] 
{
    new SelectListItem { Value = "1", Text = "group 1" },
    new SelectListItem { Value = "2", Text = "group 2" },
    new SelectListItem { Value = "3", Text = "group 3" },
 };

model.SelectedPeople = new[] { "2", "3" };

機能しないということは、SelectListItems 2 と 3 が DropDownList で選択されていないことを意味します。

4

1 に答える 1

1

やってみました:

model.People = new[] 
{
    new SelectListItem { Value = "1", Text = "group 1" },
    new SelectListItem { Value = "2", Text = "group 2", Selected = true },
    new SelectListItem { Value = "3", Text = "group 3", Selected = true },
};
于 2012-10-24T14:52:25.707 に答える