【问题标题】:How to get default selected value in DropDown list using Html.DropdownList如何使用 Html.DropdownList 在下拉列表中获取默认选定值
【发布时间】:2015-07-29 22:51:19
【问题描述】:

这是我的代码:

 @Html.DropDownList("groupID", (IEnumerable<SelectListItem>)ViewBag.groupID, "    -- Select --  ", new { @class = "form-control" })

我想从控制器传递选定的值,而不是字符串(-- Select --)。然后,该选定值将成为下拉列表中的默认值,而不是字符串。如果我已经知道我将选择哪个组,我不想向下滚动并搜索它。希望我已经很好地解释了我的问题。

我试过 ViewBag 但它不起作用。还有其他解决方案吗?

【问题讨论】:

    标签: html css asp.net asp.net-mvc


    【解决方案1】:

    您需要将下拉列表绑定到属性。如果你的模型包含属性groupID,那么你必须给SelectList一个不同的名字(比如ViewBag.GroupList)。然后,如果您将groupID 的值设置为与您的某个选项的值匹配的值,则会选择该选项。

    @Html.DropDownListFor(m => m.groupID, (IEnumerable<SelectListItem>)ViewBag.GroupList, "-- Select --", new { @class = "form-control" })
    

    【讨论】:

    • 嗯...这是我的控制器 public ActionResult Create(string sirovina) { ViewBag.Sirovina = sirovina; ViewBag.GroupList = new SelectList(db.groups, "ID", "name"); ViewBag.measurment_unitID = new SelectList(db.measurmentunits, "ID", "type");返回视图();我应该改变什么?
    • 天啊,使用模型并停止将所有内容填充到 ViewBag 中(并在 GET 方法中返回视图,以便获得正确的 2 路模型绑定)。而且您甚至没有显示与名为 groupID 的属性相关的任何内容 - 您实际上想要将所选组绑定到什么?
    • 这里是一个简单的DotNetFiddle,展示了你应该如何做到这一点
    • 嗯,把所有的东西都放到 ViewBag 上。好的,我希望我能解释一下我想要什么,因为我是 MVC 的新手。
    • 嗯,把所有的东西都放到 ViewBag 上。好的,我希望我能解释一下我想要什么,因为我是 MVC 的新手。我想将所有组绑定到选择列表,并且想要选择值,然后用选择的列表填充下拉列表,选择项目,即选择的值。而不是字符串“--选择--”,这是下拉列表中的默认值,我想输入一些值,一些组ID。好的:)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    相关资源
    最近更新 更多