8

回答済みの質問がいくつかあることは知っていますが、私のケースに固有のものは見つかりませんでした。

MVC4 のモバイル機能を使用しています。そこで、_layout.mobile.cshtml とそれに対応するビューを作成しました。

上記のエラーは、モバイル デバイスを使用してアクセスすると発生します。ご覧のとおり、_layout.mobile.cshtml ではなく通常の _layout.cshtml を表示しようとしています。したがって、問題のセクションを持たないビュー (Index.mobile.cshtm など) も表示しようとしていると想定しています。基本的に、通常のレイアウトとモバイル ビューを組み合わせています。

これは常に起こるわけではありません。プールをリサイクルすると、しばらくの間再び機能し、その後突然エラーが発生し、プールを再度リサイクルするまで続行します。

誰かが光を当てることができる前にこの問題を見たことがありますか?

ありがとうジョン

4

4 に答える 4

3

ビューフォルダの下にある_ViewStart.cshtmlで、レイアウト値をカスタムレイアウトに変更します。これが役立つと思います。(部分ビューではなくビューを返すようにしてください)

例えば

@{
Layout = "~/Views/Shared/_layout.mobile.cshtml";
}

特定のページのレイアウトを変更する場合は、ページの上部でページディレクティブとして明示的に定義できます。

于 2012-06-11T13:38:15.153 に答える
2

削除したのと同じ問題にも直面していました

@section featured {

ビューから

于 2015-05-11T11:12:34.480 に答える
0

これを行う別の方法は、_ViewStart.cshtml ページで条件付きブロックを使用することです。たとえば、デバイスの通常のユーザーに応じて 2 つのレイアウトがある場合があります。デバイス/ブラウザ タイプ ビットの読み取りに擬似コードを使用すると、次のようになります。

@{
        if(userIsMobile)
        {
            Layout = "~/Views/Shared/_MobileLayout.cshtml";
        }
        else
        { 
             Layout = "~/Views/Shared/_Layout.cshtml";
        }
}

これを使用して、さまざまなクラスのユーザーの必要に応じてセクションまたはメニュー項目を表示または非表示にしました。デバイス固有のレイアウトでも同様に機能するはずです。

ジョーイ・モーガン

于 2013-05-02T13:29:18.173 に答える