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>

また、Index.cshtml のコンテンツを更新する actionlink (with updateTargetID = "partial") のリストを持つ "MenuPartial" という名前の部分ビューも取得しました

私のホームコントローラーでは、ActionResult インデックスは 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 に答える