0

dropdownlistfor() で奇妙な動作が発生しますが、リストを使用しているため、何か問題がある可能性があります

コードは十分に単純です

    @for (int i = 0; i < Model.Phones.Count; i++ )
    {
        <tr>
            <td>@Html.TextBoxFor(m => m.Phones[i].Num)</td>
            <td>@Html.DropDownListFor(m => m.Phones[i].Typ, list1 )</td>
        </tr>
    }

list1 は .cshtml 自体で次のように定義されています。

string[] types = new string[] { "Office", "Mobile", "Home" };
List<SelectListItem> list1 = new List<SelectListItem>();
foreach(var t in types){
    list1.Add(new SelectListItem{Text = t, Value = t });

問題は、ドロップダウンで正しい値が選択されていないことです

こちらのスクリーンショットをご覧ください

一方、ドロップダウンは Mobile、Office、Home である必要があります

コードはかなりバニラです。これは標準の html.DropdownListFor() ヘルパーなので、タグで正しい選択された属性を生成していないようです!!

何が得られますか?

4

1 に答える 1