Razor @ Html.DropDownList()不从List <selectlistitem>选中的值中取选定值

时间:2017-05-29 19:09:37

标签: asp.net-mvc asp.net-mvc-4

在我的控制器中有这个:

sin(x) ** -1

但是当我将对象发送到剃刀视图时,我得到了这样的

List<SelectListItem> listItems = new List<SelectListItem>();
listItems.Add(new SelectListItem
                    {
                        Text = row["ProgramName"].ToString().Trim(),
                        Value = row["Id"].ToString().Trim(),
                        Selected = row["selected"].ToBoolean()

                    });

看起来像这样:

DropDownList showing...

但是Razor没有设置选定的值。我会怎么做才能解决这个问题?

HTML就是这个

@Html.DropDownList("ListaProgramas", (IEnumerable<SelectListItem>)ViewData["ListaProgramas"], new {@class = "form-control pull-left", @id = "ListaProgramas", @style = "color:black; width:100%;" })

但在我的控制器中我选择了另一个

<select class="form-control pull-left" id="ListaProgramas" name="ListaProgramas" style="color:black; width:100%;">
<option selected="selected" value="1">VIADR</option>
<option value="2">TweakedBPclient</option>
</select>

我希望HTML Razor视图选择我在控制器代码中选择的元素。

1 个答案:

答案 0 :(得分:0)

制作SelectList时,请改用此表格:

new SelectList(ViewData["ListaProgramas"], "Value" , "Text", itemToSelect);

itemToSelect是合适的row["Id"] - 因为您没有正在使用的模型,您也可以通过ViewData传递此值。话虽如此,我还建议使用强类型视图和帮助器,只需在传递给视图的模型中设置值,从而无需完全指定itemToSelect参数。