私はプロジェクトに取り組んでいます。すべてのページが変更されたときにレイアウトビューが再ロードされないように、ビューを部分ビューに変更することにしました。ユーザーは、私は今、次のようにjqueryのAJAXを使用していたナビゲーションメニューのメニュー項目のいずれかをクリックしたときにビューをロードするために: -ASP.NET MVCパーシャルビュー+ Ajaxロード
$("ul.metismenu a:not(.subMenuParent)").unbind().click(function (e) {
e.preventDefault();
var url = $(this).attr("href");
window.history.pushState("", "", url);
$.ajax({
url: url,
dataType: 'html',
success: function (data) {
$('#page-content').html(data);
}
});
});
要素のページコンテンツがレイアウトビューに存在します。それはうまくいきますが、私が今直面している問題は、ビューに直接アクセスしようとすると、ブラウザで直接/ダッシュボードに行くと言うと、レイアウトページなしで部分的なビューしか表示されません。私はこれをどうやって解決してくれるの?事前にアドバイスをありがとうございます。変数を使用することにより、あなたは別のコントローラのアクションから設定異なるレイアウトを持つことができPartialView()
部分ビューで '@ {Layout ="〜/ Views/Shared/_Layout.cshtml "}'を追加するだけです。 – mmushtaq
@ mmushtaq私はすでにそれを試みましたが、レイアウトは2度レンダリングされました – krafo
部分的なビューを返すコントローラアクションをどのように共有できますか? –