所以我得到了一个页面,它有一个标题,左边是导航菜单(这是一个局部视图),右边是一个内容(这是一个索引视图)。导航菜单后,我在重新加载每个页面的组件时遇到了问题。
所以这是我的_Layout
<body>
<div id="header">
<img alt="" src="../../Content/image/asd.png" />
</div>
<div id="menuBar"></div>
<div id="partial">
@RenderBody()
@Html.Partial("MenuPartial")
</div>
我还有一个名为“MenuPartial”的部分视图,其中包含actionlink列表(使用updateTargetID =“partial”),它将更新Index.cshtml的内容
在我的homecontroller中,ActionResult索引返回View()
然后我对_viewStart进行了一些改动
@{
Layout = Request.IsAjaxRequest() ? null : "~/Views/Shared/_Layout.cshtml";
}
所以,我需要的是,每次动作链接被点击,将更新,我的部分视图(它有一些更新的值,所以它也必须更新)和我的索引视图。而我目前的结果是,当我点击动作链接时,身体被渲染,索引得到更新,但我的部分视图已经消失。有人有解决方案吗?
答案 0 :(得分:0)
对于您的用例,您可以将@RenderBody()
包装成div
<div id="content">
@RenderBody()
</div>
现在您只能更新内容
$('#content').html("New fancy content")
然后您可以对导航执行相同的操作 - 只需将其作为控件中的操作使用,然后返回PartialView()