0

ASP MVC 3 プロジェクトでドロップダウンの動的リストを作成できる必要があります。私のモデルには以下が含まれています:

    public IList<Collections.Division> Divisions { get; set; }


    public SelectList DivisionSelectList
    {
        get
        {
            DivisionRepository repo = new DivisionRepository();

            var divisions = repo.Divisions;

            return new SelectList(divisions,"DivisionId","DivisionName");
        }
    }

Division クラスは次のようになります。

    public class Division
    {
      public int DivisionId { get; set; }
    }

次のように、ビューにドロップダウンのリストを作成します。

     @for(int i = 0;i< Model.Divisions.Count;i++)
    {
            @Model.Divisions[i].DivisionId //for debug only
            @Html.DropDownListFor(x=>x.Divisions[i].DivisionId,Model.DivisionSelectList)
            <br/>
    }

ビューをレンダリングする前に部門のリストが入力され、データは正しく見えますが、ドロップダウン項目が選択されていません。誰かが理由を知っていますか?

4

2 に答える 2

0

これは MVC のバグのように見えます。ここを参照してください:
DropDownListFor not binding on Edit View with Repeating Items (List<T>)

私はこれをしなければなりませんでした:

@Html.DropDownListFor(x=>x.Divisions[i].DivisionId,new SelectList(Model.DivisionSelectList,"Value","Text",Model.Divisions[i].DivisionId))
于 2012-08-05T10:27:14.733 に答える
0

最初に、コントローラーアクションで選択したアイテムタイプのリストを作成します

 DivisionRepository repo = new DivisionRepository(); 
 foreach(var item in repo.Divisions)
 {
      Divisions.add(item );
 }
    var divisions = repo.Divisions;
于 2012-08-03T11:17:48.947 に答える