Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Asp.net mvc DropDownList用于显示不正确的值_Asp.net Mvc - Fatal编程技术网

Asp.net mvc DropDownList用于显示不正确的值

Asp.net mvc DropDownList用于显示不正确的值,asp.net-mvc,Asp.net Mvc,我的查询得到了所有正确的值,并填充了selectlist,但我的dropdownlist只显示selectlist中的第一个值。我怎样才能让它显示船长的返回值 视图模型: public class EditTeamsView : BaseCommunityView { ... public IList<Domain.Team> ExistingTeams { get; set; } ...

我的查询得到了所有正确的值,并填充了selectlist,但我的dropdownlist只显示selectlist中的第一个值。我怎样才能让它显示船长的返回值

视图模型:

public class EditTeamsView : BaseCommunityView
    {   
       ...
        public IList<Domain.Team> ExistingTeams { get; set; }            
     ...
        public EditTeamsView()
        {               
            ExistingTeams = new List<Domain.Team>();

        }

    }

 public class Team
    { 
        ...       
        public string Captain { get; set; }
        public IEnumerable<SelectListItem> MemberSelectList { get; set; }
    }
public类EditTeamsView:BaseCommunityView
{   
...
公共IList现有团队{get;set;}
...
公共编辑团队视图()
{               
ExistingTeams=新列表();
}
}
公开课小组
{ 
...       
公共字符串上尉{get;set;}
公共IEnumerable MemberSelectList{get;set;}
}
视图:

for(var c=0;cx.ExistingTeams[c]。队长,模型。ExistingTeams[c]。成员选择列表, 新的{@class=“表单控制”}) }
下拉列表中的每个选项都需要值属性和显示属性,因此您可能需要将团队类的MemberSelectList对象更改为包含值和文本属性的IEnumerable

要基于字符串值(如您拥有的)设置下拉列表的默认值,请新建SelectList,该列表需要IEnumerable对象列表(如您拥有的对象)、value属性、text属性,然后是default value对象

请参见此处:


您有能力在项目中使用jQuery吗?这听起来像是问题所在,因为在我的查询中,我的列表是用simpleselectlist创建的。MemberSelectList=team.Members.ToSimpleSelectList();我将正确创建它并报告。是的,您的解决方案有效,谢谢。我现在也更了解选择列表了。:)我只想补充一点,在我的例子中工作的代码是这样的:@Html.DropDownListFor(x=>Model.Captain,new-SelectList(Model.ExistingTeams[c].MemberSelectList,“Value”,“Text”,Model.ExistingTeams[c].Captain),new{@class=“form control”})
@for (var c = 0; c < Model.ExistingTeams.Count; c++)
                    {
                      @Html.DropDownListFor(x => x.ExistingTeams[c].Captain, Model.ExistingTeams[c].MemberSelectList,
                                        new { @class = "form-control "})
}
@Html.DropDownListFor(x => x.ExistingTeams[c].Captain, 
    new SelectList(Model.MemberSelectList, "Value", "Text", Model.Captain)
)