【发布时间】:2012-03-05 08:34:57
【问题描述】:
我有一个 Razor 页面,表单中有一个下拉列表:
@using (Html.BeginForm("ProductsByOwners", "Report", FormMethod.Post, new { @id = "ProductsByOwners" }))
{
@Html.Label("Choose product owner: ")
@Html.DropDownList("OwnerList", (SelectList)ViewBag.OwnerList, new { @onchange = "this.form.submit();" })
}
我的SelectList 的选定值没有被转移到DropDownList。我已经调试并单步执行了代码,发现 (SelectList)ViewBag.OwnerList 可以正确评估并选择了预期值,但生成的 HTML 没有选择任何 option 标记。
谁能看到我在这里做错了什么?
更新
这是在我的操作中创建 SelectList 的方式:
ViewBag.OwnerList = new SelectList(ListUtils.ProductOwners(), "Key", "Value", values["OwnerList"]);
结果具有选定的values["OwnerList"] 指示的值。
谢谢!
【问题讨论】:
-
您能否展示一下您创建选择列表的位置?
-
我添加了一个更新。虽然,我很确定问题出在视图中。我已经将代码一路单步执行到视图中,并且 SelectList 有一个选定的值。
-
您确定指定的值 (values["OwnerList"]) 存在于 ProductOwners-list 中吗?选择列表中的值是否正确呈现?
-
是的。当我向
ViewBag.OwnerList添加手表时,SelectedValue属性与values["OwnerList"]相同,当我深入到SelectListItem时,Selected属性为true。 -
'Key'是什么类型的?您是否尝试将 values["OwnerList"] 转换为该特定类型?
标签: asp.net-mvc razor