我有这个奇怪的问题,但它困扰了我很多。我有这个css类:
class="form-control"
我需要在我的DropDown中使用它:
@Html.DropDownList("destination", ((SelectList)ViewBag.DropList).Select(t => new SelectListItem() { Text = t.Text, Value = t.Text, Selected = (t.Text == ViewBag.Destination)}), (SelectList)ViewBag.DropList)
答案 0 :(得分:6)
您似乎正在尝试在SelectedValue
帮助程序中设置SelectList
DropDownList
,这是不可能的。
创建SelectedValue
时必须设置SelectList
属性。请参阅以下示例。
ViewBag.DropList = new SelectList(new[]{
new SelectListItem{ Text="one", Value="1"},
new SelectListItem{ Text="two", Value="2"},
new SelectListItem{ Text="three", Value="3"}
}, "Value", "Text", 2);
在上面的代码中,我在初始化SelectList
时将2设置为所选项目。之后,您可以传递SelectList
和HTML属性,如下所示。
@Html.DropDownList("destination", (SelectList)ViewBag.DropList, new { @class = "form-control" })
谢谢!
解决方案:
@Html.DropDownList("destination", ((SelectList)ViewBag.DropList).Select(t => new SelectListItem() {Text = t.Text, Value = t.Text, Selected = (t.Text == ViewBag.Destination)}), new{@class="form-control"})
答案 1 :(得分:1)
最后一个参数可以是具有html属性的对象see msdn:
@Html.DropDownList("destination", ..., new { @class = "form-control" })