0

ネストされたレイアウトを使用する比較的小さなWebサイトがあります。

_Layout.cshtmlには、Webサイトの全体的なレイアウトが含まれています。

  • ヘッダ
  • メニュー
  • コンテンツ
  • フッター

コンテンツをAjaxを介してロードすると同時に、URLを介さずにWebサイトをナビゲートできるようにします。呼び出しがAjaxであるかどうかをコントローラーにチェックインし、ParvialViewを返すと、ビューが使用している可能性のある_subLayout.cshtmlがレンダリングされません。通常どおりにレンダリングすると、もちろん_subLayout.cshtmlが含まれますが、_Layout.cshtmlも含まれます。

Ajax呼び出しの場合にビューを_Layout.cshtmlではなくロードするが、Ajax以外の呼び出しでは_Layout.cshtmlレンダリングをそのままにして、_ subLayout.cshtmlをロードするにはどうすればよいですか?

4

1 に答える 1

0

少しの間、もちろん、_Layoutが適用される前に_subLayoutでRequest.IsAjaxRequest()を実行できます。問題を解決しました。

if(!Request.IsAjaxRequest())
{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
于 2013-02-14T15:21:12.503 に答える