Asp.net mvc 2 在asp.net mvc中选择其他下拉列表时加载一个下拉列表
如何在选择第一个和第二个时加载第二个下拉列表。在asp.net mvc 2中,我使用下拉菜单触发一个ajax post,该post将所选ID发送到控制器,然后返回一个局部视图,该视图将覆盖占位符div的html 观点;这将设置ActionUrl,在我的案例中,您还需要一个名为departments的占位符div,以便插入下拉列表: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
<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;
}