0

以下はEdit私のコントローラーからのメソッドです。FixedOrVariableすべて正常に動作しますが、ドロップダウン内のエージェントの現在の値がデフォルト値として設定されていません。ただし、この値は適切に編集できます。

フィールドFixedOrVariableは、モデル内の 1 文字のフィールドです。値はFor V(常に大文字) です。

ここにコントローラーメソッドがあります

    public ActionResult Edit(int id)
    {
        var banklistagentid = db.BankListAgentId.Find(id);
        ViewBag.BankID = new SelectList(db.BankListMaster, "ID", "BankName", banklistagentid.BankID);

        SelectList tmpList = new SelectList(new[] { "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA", "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NA", "NM", "NY", "NC", "ND", "MP", "OH", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "US", "VT", "VI", "VA", "WA", "WV", "WI", "WY" });
        ViewBag.StateCodeList = tmpList;

        var fixedOrVariable = new[] {new {Text = "Fixed", Value = "F"}, new {Text = "Variable", Value = "V"}};
        ViewBag.FixedOrVariable = new SelectList(fixedOrVariable, "Value", "Text", banklistagentid.FixedOrVariable);

        return View(banklistagentid);
    }

そして、ここにビューからのコードがあります

    <div class="editor-field">
        @Html.DropDownListFor(model => model.FixedOrVariable, (SelectList)ViewBag.FixedOrVariable)
    </div>
4

1 に答える 1

1

これはおそらく、MVC のドロップダウンで人々が犯す最大の間違いの 1 つです。選択肢のリストに、選択した項目変数と同じ名前を付けることはできません。

に変更しますViewBag.FixedOrVariableList

于 2013-04-06T18:39:22.597 に答える