0

ドロップダウン付きのエディターテンプレートがあります。

 @Html.DropDownListFor(m => m.AdmissionState, new List<SelectListItem>()
                                                   {
                                                       new SelectListItem()
                                                           {
                                                               Text = "1",
                                                               Value = "1"
                                                           },
                                                       new SelectListItem()
                                                           {
                                                               Text = "2",
                                                               Value = "2"
                                                           },
                                                       new SelectListItem()
                                                           {
                                                               Text = "3",
                                                               Value = "3"
                                                           },                   
                                                   }, "- Select -")

私はそれをビューから呼び出します:

@Html.EditorFor(m => m.Licenses)

コントローラには次のコードがあります:

profile.Licenses.Add(new AttorneyLicenseModel()
        {
            AdmissionDate = "06/14/2012",
            AdmissionState = "2",
            AdmissionNumber = "asd",
        });
        profile.Licenses.Add(new AttorneyLicenseModel()
        {
            AdmissionDate = "07/16/2012",
            AdmissionState = "5",
            AdmissionNumber = "qwe",
        });

ライセンスごとに、モデルからデータが入力されたフィールドが表示されますが、ドロップダウンリストには表示されません。デフォルト値がチェックされています。私は何が間違っているのですか?もちろん、値を持つコードは非常に単純化されています

4

1 に答える 1

1

このようにしてみてください:

@Html.DropDownListFor(
    m => m.AdmissionState, 
    new SelectList(
        new[] 
        {
            new { Value = "1", Text = "1" },
            new { Value = "2", Text = "2" },
            new { Value = "3", Text = "3" },
        }, 
        "Value", 
        "Text", 
        Model.AdmissionState
    ),
    "- Select -"
)

私のコードが機能し、あなたのコードが機能しない理由を理解することに興味がある場合は、昨日同様の質問に対して提供した次の回答を読むことができます: ASP.NET MVC DropDownListFor not selected value from model

于 2012-06-19T16:53:21.717 に答える