以下是我的控制器的Edit
方法。一切正常,但FixedOrVariable
下拉列表中代理的当前值未设置为默认值。不过,我可以正确编辑这个值。
字段FixedOrVariable
是模型中的单字符字段。它的值为F
或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>
答案 0 :(得分:1)
这可能是我见过人们在MVC中使用Dropdown的最大错误。您不能将选择列表命名为与所选项目变量相同的名称。
将其更改为ViewBag.FixedOrVariableList