Asp.net mvc 2 在asp.net mvc中选择其他下拉列表时加载一个下拉列表

Asp.net mvc 2 在asp.net mvc中选择其他下拉列表时加载一个下拉列表,asp.net-mvc-2,drop-down-menu,Asp.net Mvc 2,Drop Down Menu,如何在选择第一个和第二个时加载第二个下拉列表。在asp.net mvc 2中,我使用下拉菜单触发一个ajax post,该post将所选ID发送到控制器,然后返回一个局部视图,该视图将覆盖占位符div的html 观点;这将设置ActionUrl,在我的案例中,您还需要一个名为departments的占位符div,以便插入下拉列表: <script type="text/javascript"> var ActionUrl = '<%= Url.Actio

如何在选择第一个和第二个时加载第二个下拉列表。在asp.net mvc 2中,我使用下拉菜单触发一个ajax post,该post将所选ID发送到控制器,然后返回一个局部视图,该视图将覆盖占位符div的html

观点;这将设置ActionUrl,在我的案例中,您还需要一个名为departments的占位符div,以便插入下拉列表:

    <script type="text/javascript">
        var ActionUrl = '<%= Url.Action("RenderDepartments", "ControllerName") %>';
    </script>
    <script src="<%: ResolveUrl("~/Scripts/Custom/DepartmentFilter.js")%>" type="text/javascript"></script>
    <%: Html.DropDownListFor(model => model.OfficeId, Model.ListItems, "-- Please Select --", new { onchange = "GetDepartments()" })%>
    // ^^ ON CHANGE IS IMPORTANT  ^^
    <div id="departments"></div>
控制器动作

        public ActionResult RenderDepartments(int? officeId)
    {
        if (officeId.HasValue)
        {
            var departments = new SelectList(ents.GetDepartments(officeId), "departmentID", "Name");
            var model = new DropdownListViewModel(departments);

            return PartialView("DepartmentDropdown", model);
        }
        return null;
    }

这是可以为null的,因为用户可以提交-请选择-在本例中,这将返回null并删除“部门”下拉列表。

在此代码中,我无法获取函数数据的任何数据,因为找不到“获取资源”。添加了大部分代码,我希望您能从我的示例中解决此问题。
        public ActionResult RenderDepartments(int? officeId)
    {
        if (officeId.HasValue)
        {
            var departments = new SelectList(ents.GetDepartments(officeId), "departmentID", "Name");
            var model = new DropdownListViewModel(departments);

            return PartialView("DepartmentDropdown", model);
        }
        return null;
    }