更改所选值的下拉菜单C#

时间:2018-08-06 15:24:49

标签: c# asp.net entity-framework asp.net-core-2.0

下午

我有两个下拉列表,即ServiceName和GroupName。基本上,当ServiceName的值更改时,我希望GroupName的内容根据所选值进行更新,这两个值都共享数据库中的ServiceId字段。

但是,我无法动态更改所选值,我已硬编码为1,并尝试使用Jquery更改为无济于事。

public IActionResult Create(string id)
{
    ViewData["id"] = id;

    var list = new SelectList(_context.DatabaseService.Where(t => t.id == id).Select(i => i.Service), "ServiceId", "ServiceName", 1);
    var selected = list.SelectedValue.ToString();

    ViewData["GroupName"] = new SelectList(_context.ComponentGroups.Where(t => t.ServiceId == Int32.Parse(selected)), "GroupId", "GroupName");
    ViewData["ServiceName"] = list; 

    return View();
}

是否有可能使我选择的变量等于ServiceName下拉列表中的活动项目?

1 个答案:

答案 0 :(得分:0)

我通过结合使用此解决方案Ajax call to populate select list when another select list changes和此解决方案bind drop down list using jquery ajax on change of first ddl来解决了这个问题。

我创建了一个新方法,该方法以JSON格式显示我的所有组

Offset

然后在我的视图中,我使用JQuery从JSON数组返回的数据中填充一个空的选择列表

test.xls

这是我的选择列表

    public IActionResult GetGroupByService()
    {
        var grouping = _context.ComponentGroups;
        return Json(grouping);
    }