C# Can';t get my DropDownList for可在下拉菜单中选择选定的SelectListItem项
我有一个填充到下拉菜单的项目集合:C# Can';t get my DropDownList for可在下拉菜单中选择选定的SelectListItem项,c#,asp.net-mvc,razor,drop-down-menu,model-binding,C#,Asp.net Mvc,Razor,Drop Down Menu,Model Binding,我有一个填充到下拉菜单的项目集合: string myUserName = "PopulatedWithSomeUser"; var users= from x in userRepository.GetAll() select new SelectListItem { Value = x.Id.ToString(), Text = x.Name, Selected = (x.Name == myUserName
string myUserName = "PopulatedWithSomeUser";
var users= from x in userRepository.GetAll()
select new SelectListItem
{
Value = x.Id.ToString(),
Text = x.Name,
Selected = (x.Name == myUserName )
};
这将正确填充对象并设置选定项。
接下来,我使用ViewModel将其传递到我的视图,并尝试填充/选择:
我试过:
@Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users),new {id = "add-user-list", name="add-user-list"})
也
也
列表已正确填充,但我的“选定”项从未被选中。
我做错了什么?
谢谢。作为第一个参数,您应该传递一个字段,用于在表单提交后接收数据的内容。其他一切看起来都正常:
@Html.DropDownListFor(model=>model.UserId, Model.Users)
或者,如果您要提供自己的id和名称,最好使用以下()命令:
@Html.DropDownListFor(model=>model.Users,Model.Users, new {id = "add-user-list", name="add-user-list"})
@Html.DropDownListFor(model=>model.UserId, Model.Users)
@Html.DropDownList("add-user-list", Model.Users, new {id = "add-user-list"})