【问题标题】:MVC3 Razor SelectedValue in DropdownListForDropdownListFor中的MVC3 Razor SelectedValue
【发布时间】:2012-05-30 14:20:47
【问题描述】:

我有以下DropDownListFor 的代码并且工作正常

@Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"})

ViewBag.HabilitacoesList(Of T)

但知道我想将SelectedValue 添加到DropDownListFor,所以我使用了以下代码但不起作用。

@Html.DropDownListFor(Function(model) model.Habilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL", model.Habilitacoes), New With {.class = "FillHSpace"})

如何声明SelectedValue

【问题讨论】:

  • 我会在模型上使用一个属性(例如SelectedHabilitaco - 无论是什么;))。并将其用作DropDownListFor 的第一个参数 - 就像在这个答案中:stackoverflow.com/questions/3386998/…(请参阅更新 2)。

标签: asp.net-mvc vb.net asp.net-mvc-3 razor html.dropdownlistfor


【解决方案1】:

您不应使用与 DropDownListFor 助手的第一个和第二个参数相同的属性。第一个参数是标量属性,第二个参数是集合:

@Html.DropDownListFor(Function(model) model.SelectedHabilitacoes, New SelectList(ViewBag.Habilitacoes, "KeyHL", "DescricaoHL"), New With {.class = "FillHSpace"})

然后在你的控制器中:

model.SelectedHabilitacoes = "123"

【讨论】:

    【解决方案2】:

    DropdownListFor 具有实现此目的的重载

    DropDownListFor([SelectedValue], [SelectList], optional HTML Attributes)
    

    通常你会去

    DropDownListFor(model => model.ID, (SelectList)ViewsBag.MySelectList, optional HTML Attributes)
    

    选中的值会自动绑定到下拉列表,并且会自动贴出model.ID的值

    如果这没有帮助,请您发布您的模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多