不能让我的DropDownListFor在下拉菜单中选择选择SelectListItem项目(Can

2019-06-25 12:36发布

我已填充到一个下拉菜单项的集合:

string myUserName = "PopulatedWithSomeUser";

var users= from x in userRepository.GetAll()
    select new SelectListItem
       {
          Value = x.Id.ToString(),
          Text = x.Name,
          Selected = (x.Name == myUserName )
       };

此正确地填充的对象,并设置所选择的项目。 接下来,我通过这个我的看法与视图模型,并尝试填充/选择:

我试过了:

   @Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users),new {id = "add-user-list", name="add-user-list"})

@Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users,"Value","Text","Selected"),new {id = "add-user-list", name="add-user-list"})

@Html.DropDownListFor(model=>model.Users,Model.Users, new {id = "add-user-list", name="add-user-list"})

该列表填充正确,但从来没有选择我的“选择”项。 我究竟做错了什么 ? 谢谢。

Answer 1:

作为第一个参数,你应该通过一个字段,你要接收数据的形式提交后什么。 其他的一切看起来正确:

@Html.DropDownListFor(model=>model.UserId, Model.Users)

或者,如果你要提供你自己的ID和名称-这将是更好地使用这个( MSDN ):

@Html.DropDownList("add-user-list", Model.Users, new {id = "add-user-list"})


文章来源: Can't get my DropDownListFor to select a selected SelectListItem item in a Dropdown menu