Javascript 通过jquery调用MVC4控制器更新部分视图
我有一个带有侧边栏菜单的页面。单击侧栏菜单,我展开一个jstree。单击此树的任何节点时,应重新加载主页上的部分页面。然而,这似乎没有发生Javascript 通过jquery调用MVC4控制器更新部分视图,javascript,jquery,asp.net-mvc,asp.net-mvc-4,jstree,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,Jstree,我有一个带有侧边栏菜单的页面。单击侧栏菜单,我展开一个jstree。单击此树的任何节点时,应重新加载主页上的部分页面。然而,这似乎没有发生 Simplified MainPage.html <body class="claro"> <div id="header"> <div id="logindisplay"> @Html.Partial("_LogOnPartial")
Simplified MainPage.html
<body class="claro">
<div id="header">
<div id="logindisplay">
@Html.Partial("_LogOnPartial")
</div>
</div>
<div id="menucontainer2">
@Html.Partial("_SideLayout")
</div>
<div id="main">
@RenderBody()
</div>
</body>
_LogOnPartial工作正常,能够正确更新主页的部分视图。它只是包含这样的内容
@Html.ActionLink("Log Off", "LogOff", "Account")
但是,我无法操纵jstree来更新局部视图。有人能帮我使用正确的jquery命令调用MVC4控制器以便更新页面吗
**EDIT**
我现在可以连接到服务器,将数据发布到服务器(我的警报显示成功)。但是,主页中的部分视图仍然没有呈现
。
正确的Ajax调用:
$.ajax({
url: '@Url.Action("Index", "DpcmOrder", new { area = "AmethystWorkestraModule" })',
type: 'POST',
cache: false,
async: false,
data: $('form').serialize(),
success: function (data) {
//your ajax data
alert('success');
$('#main').html(data);
},
error: function (e) {
alert('fail');
console.log(e);
}
});
我能够连接到服务器。但是我仍然没有看到部分页面更新:(警报成功了吗?是的,它成功了。此外,div即main被重建,整个
页面嵌入在div中。因此,UI完全混乱。因此我怀疑在呈现取回的数据时有问题。然后,您的控制器方法必须返回带有页眉和页脚的整个页面 contents@rockstar返回一个PartialView()
,而不是一个View()
——这将只获得视图本身中的标记。否则,也将获得布局。
**EDIT**
$.ajax({
url: '@Url.Action("Index", "DpcmOrder", new { area = "AmethystWorkestraModule" })',
type: 'POST',
cache: false,
async: false,
data: $('form').serialize(),
success: function (data) {
//your ajax data
alert('success');
$('#main').html(data);
},
error: function (e) {
alert('fail');
console.log(e);
}
});
$.ajax({
url: '/Index/Order',
type: 'GET',
cache: false,
async: false,
data: {Area : "OrderModule"},
success: function (data) {
//your ajax data
}
});