3

最近、モバイル ページを表示しようとすると、次のような問題が発生します。

次のセクションは定義されていますが、レイアウト ページ "~/Views/Shared/_Layout.cshtml" 用にレンダリングされていません: "head"。

これはランダムに発生します。通常、私のアプリは正常に動作しますが、この例外がスローされ、ユーザーがページを表示できない場合が数回あります。

私の調査では、これはモバイル ビューにアクセスしようとしたときに発生するようです。

デスクトップ ビュー用とモバイル ビュー用の 2 つの異なるレイアウトがあります。デスクトップ レイアウトには、セクション ヘッドのレンダリングがあります。

@RenderSection("head"、必須: false)

モバイルビューにはそのようなセクションはありません。

したがって、明確にするために、私のモバイル/デスクトップ ビューには次のパターンがあります。

  • モバイル: ビューには head セクションがなく、_Layout.Mobile.cshtml は head セクションをレンダリングしません。ビューには、ディレクティブ Layout = "~/Views/Shared/_Layout.Mobile.cshtml" があります。
  • デスクトップ ビューにはヘッド セクションがあり、_Layout.cshtml はヘッド セクションを次のコードでレンダリングします: @RenderSection("head", required: false)。ビューには、ディレクティブ Layout = "~/Views/Shared/_Layout.cshtml" があります。

そのため、レンダリングするビューとレイアウトを検出すると、モバイル ビューではなくデスクトップ レイアウトを使用するか、またはその逆のように見えます。

光を当てることができるような問題の経験はありますか?

ありがとう!

4

0 に答える 0