[英]Set dropdownlist value selected during Edit in ASP.NET MVC
我正在使用Visual Studio 2013并创建MVC应用程序,并且具有如下所示的绑定下拉列表:
var list = context.Roles.OrderBy(r => r.Name).ToList()
.Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name })
.ToList();
ViewBag.Roles = list;
在CSHTML中:
@Html.DropDownList("Role", (IEnumerable<SelectListItem>)ViewBag.Roles, "Select ...")
现在,我要在“编辑时间”中设置选定的值!
我应该怎么做才能在下拉列表中选择该ID或名称,请帮助我做到这一点?
提前致谢。
我正在使用这样的代码:
foreach (var c in _countryService.GetAllCountries(true))
model.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = (c.Id == model.CountryId) });
model.CountryId ====>获取编辑项ID
本集工作原理:
Selected = (c.Id == model.CountryId)
我已经这样做了,并且正在运行:
在后端代码中:
var roles = db.RoleTables.ToList();
emp.Role = GetSelectListItems(roles);
private IEnumerable<SelectListItem> GetSelectListItems(IEnumerable<RoleTable> elements)
{
foreach (var element in elements)
{
selectList.Add(new SelectListItem
{
Value = element.Id,
Text = element.Name
});
}
return selectList;
}
在CSHTML中:
@Html.DropDownListFor(model => model.SelectedRole, Model.Role, "Select ...")
编辑时间:
var roles = db.RoleTables.ToList();
empreg.Role = GetSelectListItems(roles);
empreg.SelectedRole = db.RoleTable.Where(re => re.Name == employee.Role).Select(r => r.Id).FirstOrDefault();
感谢以下帖子和回复我的人: http : //nimblegecko.com/using-simple-drop-down-lists-in-ASP-NET-MVC/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.