0

Mvc3 dropdownlistFor は私を夢中にさせています!!! 同じコード (tevt と値が異なる) で 2 つの選択がありますが、そのうちの 1 つが機能しません。ここに私のコントローラーコードがあります:

   [Authorize(Roles = "admins")]
        public ActionResult Edit(int id = -1)
        {
            Advertise Advertise = db.Advertises.Find(id);
            if (null == Advertise)
                return View("ProductNotFound");

            var selectListItems = new List<SelectListItem>();
            selectListItems.Add(new SelectListItem { Text = "A", Value = "A", Selected = ("A" == Advertise.Class) });
            selectListItems.Add(new SelectListItem { Text = "B", Value = "B", Selected = ("B" == Advertise.Class) });
            selectListItems.Add(new SelectListItem { Text = "C", Value = "C", Selected = ("C" == Advertise.Class) });
            selectListItems.Add(new SelectListItem { Text = "D", Value = "D", Selected = ("D" == Advertise.Class) });
            ViewBag.Class = new SelectList(selectListItems, "Value", "Text",Advertise.Class);

            var selectListItems2 = new List<SelectListItem>();
            selectListItems2.Add(new SelectListItem { Text = "Image", Value = "Image", Selected = ("Image" == Advertise.FileType) });
            selectListItems2.Add(new SelectListItem { Text = "Flash", Value = "Flash", Selected = ("Flash" == Advertise.FileType) });

            ViewBag.Type = new SelectList(selectListItems2, "Value", "Text",Advertise.FileType);

            return View(Advertise);
        }

ここに私のビューコードがあります:

<tr>
        <td class="label">
            @Html.LabelFor(model => model.Class) :
        </td>
        <td class="editor-field">
                @Html.DropDownListFor(model => model.Class, (SelectList)ViewBag.Class)
            @Html.ValidationMessageFor(model => model.Class)
        </td>
    </tr>
    <tr>
        <td class="label">
            @Html.LabelFor(model => model.FileType) :
        </td>
        <td class="editor-field">
                @Html.DropDownListFor(model => model.FileType, (SelectList)ViewBag.Type)
            @Html.ValidationMessageFor(model => model.FileType)
        </td>
    </tr>

2番目の選択は完全に機能し、最初の選択(クラス)はページの読み込み時に選択されたアイテムを選択しません。

記録のために、データベースに保存されている値はCです。助けてください!!!

4

1 に答える 1

3

なんて...!!!!

選択が機能しない理由は次のとおりです。変数の名前(ViewBag.Class)がモデルのフィールドと同じです!!! ViewBag.Class を ViewBag.glass に変更して (名前を変更するだけです)、うまくいきました!!! とにかくありがとう。この問題を抱えている人に役立つことを願っています!!!

于 2013-03-16T09:04:04.457 に答える