我正在尝试创建一组级联下拉列表,我的主视图由一组两个部分视图组成:
@model WebUI.Controllers.IndexViewModel
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<table cellpadding="0" cellspacing="4" border="0">
<tr>
<td>Category </td>
<td> :</td>
<td>@Html.Partial("ParentsUserControl", Model)</td>
</tr>
<tr>
<td>Sub - Category </td>
<td> :</td>
<td><div id="Children">@Html.Partial("ParentChildrenUserControl", Model)</div></td>
</tr>
</table>
每个局部视图都有一个带有下拉列表的 AJAX 表单:
@model WebUI.Controllers.IndexViewModel
@using (Ajax.BeginForm("SelectParent", "Ticket", new AjaxOptions { UpdateTargetId = "Children" }))
{
@Html.DropDownListFor(
m => m.SelectedParenId,
new SelectList(Model.AvailableParents, "EstablishmentId", "Name"),
string.Empty
)
}
<script type="text/javascript">
$('#SelectedParenId').change(function () {
$(this).parents('form').submit();
});
</script>
问题是,只要我单击第一个列表中的一个项目,就会使用第二个局部视图呈现一个新页面,我怎样才能让它在主视图内呈现局部视图而不生成新页面?, UpdateTargetId 指的是什么?
以及如何将用户选择的值发送回控制器?我创建的只是一张桌子,我应该把这张桌子放在一个表格里吗?
提前致谢!