Asp.net mvc DropDownList用于显示不正确的值
我的查询得到了所有正确的值,并填充了selectlist,但我的dropdownlist只显示selectlist中的第一个值。我怎样才能让它显示船长的返回值 视图模型:Asp.net mvc DropDownList用于显示不正确的值,asp.net-mvc,Asp.net Mvc,我的查询得到了所有正确的值,并填充了selectlist,但我的dropdownlist只显示selectlist中的第一个值。我怎样才能让它显示船长的返回值 视图模型: public class EditTeamsView : BaseCommunityView { ... public IList<Domain.Team> ExistingTeams { get; set; } ...
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;c下拉列表中的每个选项都需要值属性和显示属性,因此您可能需要将团队类的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)
)