ブラウザーがモバイルの場合、ASP.NET MVC4 は _Layout.Mobile.cshtml を要求することがどこかで言及されています。これは事実ではなく、起こっていません。
この機能を有効にするために必要な設定はありますか?
ブラウザーがモバイルの場合、ASP.NET MVC4 は _Layout.Mobile.cshtml を要求することがどこかで言及されています。これは事実ではなく、起こっていません。
この機能を有効にするために必要な設定はありますか?
ASP.NET チーム ( http://www.asp.net/whitepapers/mvc4-release-notes ) によると:
Views\Shared フォルダーに _Layout.cshtml と _Layout.mobile.cshtml の両方のテンプレートが含まれている場合、既定では、アプリケーションはモバイル ブラウザーからの要求中に _Layout.mobile.cshtml を使用し、他の要求中に _Layout.cshtml を使用します。
これらのファイルがある場合、モバイル エンジンが正しく検出されていないことが問題である可能性があります。MVC 3 プロジェクトを MVC 4 にアップグレードしたのか、それとも新しい MVC 4 プロジェクトを作成したのか教えていただけますか? 最初の場合は、新しい MVC 4 プロジェクトを作成して、問題が引き続き発生するかどうかを確認することをお勧めします。発生する場合は、MVC 4 のインストールが多少破損している可能性があります...
編集: Views\Shared_Layout.cshtml を Views\Shared_Layout.Mobile.cshtml にコピーする必要があります。自動的に追加されないようです。
私は同じ問題に遭遇しました。ここで解決策を見つけました http://51degrees.mobi/Support/Blogs/tabid/212/EntryId/26/51Degrees-mobi-and-MVC4.aspx
乾杯、
まず... MVC4 プロジェクトがあることを確認してください - テンプレートから削除するか、Microsoft のアップグレード手順に適切に従ってください。
MVC の他のバージョンと同様に、プロジェクト構造は慣例に従って機能し、通常、ビューは特定Views -> Food
のフォルダーに配置する必要がありViews -> Shared
ます。
Shared Views フォルダーにあると仮定する_Layout.Mobile.cshtml
と、大文字と小文字が区別される可能性がありますが_Layout.mobile.cshtml
、私はそれを疑っています。
Fiddler を使用して、送信された要求 (ヘッダーと UA) と返された応答を調べましたか?
私は同じ問題を抱えています。私の場合、MVC3 から MVC4 にアップグレードしましたが、何かを見逃したと思います。興味深いのは、iPhone ブラウザーでは機能しますが、Android (少なくとも一部) では機能しないことです。クリーンな mvc4 プロジェクトで正常に動作します。何が欠けているのかわかりません。mvc3>4 のアップグレード手順をもう一度調べて、何が欠けているかを確認します。何も表示されない場合は、51devices で実装を試みるか、クリーンな MVC4 プロジェクトを実行します。
更新: アップグレードの手順をもう一度実行しましたが、見逃したものは何もありません。したがって、これらの指示に従って、51devices の方法を実装することになりました : http://51degrees.mobi/Support/Blogs/tabid/212/EntryId/26/51Degrees-mobi-and-MVC4.aspx . 唯一の更新は、次を使用することです。
`DisplayModeProvider.Instance.Modes.Insert`
それ以外の
`DisplayModes.Modes.Insert`
MVC アプリケーションにエリアがある場合は、_ViewStart.cshtml
各エリア内を変更する必要があります。
特にモバイル ブラウザ エミュレータを使用している場合は、モバイル ブラウザが正しいユーザー エージェント文字列を送信していることを確認してください。コンソール設定で上書きする新しいクロムユーザーエージェントと、Firefox用のいくつかのプラグインで幸運に恵まれました。