Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t get my DropDownList for可在下拉菜单中选择选定的SelectListItem项_C#_Asp.net Mvc_Razor_Drop Down Menu_Model Binding - Fatal编程技术网

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"})