[英]Asp.net MVC SelectList - Set Value
如何在选择列表上设置选择的值。 例如,假设我正在显示一个现有客户端,并且在该表单具有“性别”下拉列表的表单上,我希望选择“男性”(如果该内容已保存在数据库中),该怎么做?
当我建立模型时,我正在做类似的事情
public ActionResult Edit(string id)
{
var client= _clientService.FindById(id);
var model = new ViewModels.Client()
{
GenderId= client.GenderId,
GenderList= CreateGenderList(GenderId)
};
}
private IEnumerable<SelectListItem> CreateGenderList(int gId)
{
var list = Enum.GetValues(typeof(DomainObjects.Client.GenderList))
.Cast<DomainObjects.Client.GenderList>()
.Select(v => new SelectListItem { Text = v.ToString(), Value = ((int)v).ToString() });
//Need to set the selected value, how?
return list.ToList();
}
先感谢您。
您应该使用附加的SelectListItem.Selected
属性,并将其设置为true。 例如:
var list = Enum.GetValues(typeof(DomainObjects.Client.GenderList))
.Cast<DomainObjects.Client.GenderList>()
.Select(v => new SelectListItem {
Text = v.ToString(),
Value = ((int)v).ToString()});
var maleGenderItem = list.Single(x => x.Text == "Male");
maleGenderItem.Selected = true;
做到了
var list = Enum.GetValues(typeof(DomainObjects.Client.GenderList))
.Cast<DomainObjects.Client.GenderList>()
.Select(v => new SelectListItem { Text = v.ToString(), Value = ((int)v).ToString(), Selected = gName.ToString() == ((int)v).ToString() });
return list.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.