0

所以我得到了一个页面,它有一个标题,左边有一个导航菜单(这是一个部分视图),右边有一个内容(这是一个索引视图)。导航菜单后,我在重新加载每个页面的组件时遇到问题。

所以这是我的_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 的内容

在我的家庭控制器上,ActionResult Index 返回 View()

然后我在 _viewStart 上做了一点改变

@{
Layout = Request.IsAjaxRequest() ? null : "~/Views/Shared/_Layout.cshtml";

}

所以,我需要的是,每次点击动作链接时,都会更新我的部分视图(它有一些更新的值,所以它也必须更新)和我的索引视图。而我目前的结果是,当我单击操作链接时,主体得到渲染,索引得到更新,但我的部分视图消失了。有人对此有解决方案吗?

4

1 回答 1

0

对于您的用例,您也许可以将其包装@RenderBody()成一个 div

<div id="content">
  @RenderBody()
</div>

现在您只能更新内容

$('#content').html("New fancy content")

然后,您可以对导航执行相同操作 - 只需将其作为控制器中的操作提供并返回PartialView()

于 2014-01-20T11:32:07.720 回答