【发布时间】:2014-02-14 04:05:06
【问题描述】:
我有一个带有侧边栏菜单的页面。单击侧栏菜单时,我展开一个 jstree 。单击此树的任何节点时,主页面上的部分页面应重新加载。然而,这似乎并没有发生。
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>
我以 jstree 视图的形式创建了一个侧边栏布局(呈现良好)并等待用户单击树节点。 IE。
SideBarLayout.html
<div id="divtree">
<ul id="tree">
<li>
Manage Profile
</li>
<li ><a>Settings</a>
<ul>
<li><a>Configuration Settings</a>
<ul>
<li><a>Customer Setup</a></li>
<li><a>Job Setup</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
script type="text/javascript">
$(function () {
$("#divtree").jstree();
$("#divtree").bind(
"select_node.jstree", function (evt, data) {
debugger;
var url = '@Url.Action("Index", "Order", new{ Area = "OrderModule"})'; -----> is this correct way to call the MVC 4 Controller ?
console.log(url);
$.post(url, function (data, status) {
alert("Data: " );
});
}
);
});
</script>
1 . 正如您所看到的,目前我正在创建相同的url,无论单击树的哪个节点。一旦我可以更新我在 MainPage.html 上的部分视图,我将处理这个问题。
2 .
_LogOnPartial 工作正常,能够正确更新主页的部分视图。它只是包含这样的东西
@Html.ActionLink("Log Off", "LogOff", "Account")
但是我无法操作 jstree 来更新部分视图。谁能帮助我使用正确的 jquery 命令来调用 MVC 4 控制器以便我的页面更新?
**EDIT**
我现在能够连接到 POST 数据到服务器(我的警报显示成功)。但是,我在主页中的部分视图仍然没有呈现
。 正确的 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);
}
});
【问题讨论】:
标签: javascript jquery asp.net-mvc asp.net-mvc-4 jstree