【发布时间】:2015-09-21 16:10:10
【问题描述】:
嘿,我尝试了以下设置下拉列表的选定值。 在我的控制器中:
u.Roles = new List<AspNetRole>();
foreach (var role in db.AspNetRoles)
{
u.Roles.Add(role);
}
在我看来:
@Html.DropDownList(Model.role.Id, new SelectList(Model.Roles, "Id", "Name"), htmlAttributes: new { @class = "form-control"})
但还是不行,我没有得到选择的值。调试时我可以看到Model.role.Id 包含选定的值。
还要注意,Id 是字符串类型,因为它是散列的。 我做错了什么?
【问题讨论】:
-
您的代码真的没有那么糟糕。您只是错过了告诉
SelectList所选值应该是什么的部分。SelectList(Model.Roles, "Id", "Name", Model.role.Id) -
你没有做错什么。如果
Model.role.Id的值与Roles.Id值之一匹配,则将选择该选项。检查您生成的 html,以确保有一个选项的值完全匹配。 -
谢谢,这就是我所需要的 =)
标签: c# asp.net-mvc