我有两个部分视图,左边是菜单,右边是内容。
当我点击"链接1"时,我想切换"内容"部分视图中的区域" PartialViewContent1"到" PartialViewContent2"。
就代码而言,我实际上设法做到了这一点:
文件Index.vbhtml
<body>
<article>
<section>
<p>@Html.Action("Menu", "Menu")</p>
</section>
</article>
<aside>
@Select Case Convert.ToString(Model)
Case "Menu2"
@Html.Action("PartialViewContent2", "PartialViewContent2")
Case "Menu3"
@Html.Action("PartialViewContent3", "PartialViewContent3")
Case Else
@Html.Action("PartialViewContent1", "PartialViewContent1")
End Select
</aside>
文件PartialViewMenu.vbhtml
<ul>
<li>
@Html.ActionLink("Link 1", "Link1", "Home")
</li>
<li>
@Html.ActionLink("Link 2", "Link2", "Home")
</li>
<li>
@Html.ActionLink("Link 3", "Link3", "Home")
</li>
使用此架构,每个视图(以及显示的局部视图)都会刷新。
我担心这种行为不符合人体工程学,在性能方面也不是很有效。是否有更新内容而不是菜单的方法(如果有页脚或标题,则更新视图的其余部分)?
答案 0 :(得分:0)
我终于找到了如何做到这一点。
使用Ajax的简单jQuery代码可以解决这个问题:
$(function() {
$('#link1').click(function(){
$.ajax({
url: this.href,
dataType: "script",
success: function(result) {
$("#container").html(result);
}
});
});
e.preventDefault();
return false;
});
});