【发布时间】:2011-05-05 11:21:30
【问题描述】:
我正在使用 MVC3/Razor 并希望将 DropDownList 与以下数据绑定,
@Html.DropDownList("SearchBy", new[] { new SelectListItem { Text = "Order ID", Value = "OrdId" },
new SelectListItem { Text = "Mobile Number", Value = "MobileNum" },
new SelectListItem { Text = "Clerk Name", Value = "ClerkName" },
new SelectListItem { Text = "Pin Number", Value = "PinNum" },
new SelectListItem { Text = "RTS PayGo Ref ID", Value = "RefId" } })
以上代码将DropDownList 与相关数据绑定。目前默认选择“订单 ID”。
如果用户执行发布操作,我可以将选定的值发送到我的控制器。
我们如何将该值设置为 ViewData/ViewBag,以便DropDownList 的选择将在回发后持续存在?
【问题讨论】:
-
你不能将选定的值存储在(视图)模型中而不是 ViewBag 中吗?除此以外;在 [HttpPost] 方法中,可以将选中的值添加到 ViewBag 并返回一个视图。
-
我们如何将选定的项目值添加到视图数据中,下面的行不会为我运行....@Html.DropDownList("Years", new SelectList(ViewBag.Years as System.Collections. IEnumerable, ViewData["SELECTED_VALUE"] ?? "2010"))
-
在你的 post 方法中;您可以获得所选值(如您所写)。在该方法中,您可以执行 ViewBag.SelectedItem = [SELECTEDITEM]
标签: asp.net asp.net-mvc-3 drop-down-menu