设置在ASP.NET MVC中编辑期间选择的下拉列表值

时间:2016-06-13 07:08:37

标签: c# asp.net-mvc drop-down-menu

我正在使用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或名称,请帮我这样做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我使用的代码如下:

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 ====&gt;获取编辑项目ID

本集的工作原理:

Selected = (c.Id == model.CountryId)

答案 1 :(得分:0)

我这样做了,它正在运行:

在后端代码中:

$scope.SelectedRow = function(){
    //here take action or do whatever you want to. 
}

在CSHTML中:

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;
        }

编辑时间:

@Html.DropDownListFor(model => model.SelectedRole, Model.Role, "Select ...")

感谢以下帖子以及回复我的人: http://nimblegecko.com/using-simple-drop-down-lists-in-ASP-NET-MVC/