私は非常に奇妙な問題を抱えています。さらに悪いことに、開発マシンではなく、運用環境 (Azure) でのみ発生します。
アプリで .Mobile バージョンのレイアウトが使用されていますが、ビューのデスクトップ (.mobile ではない) バージョンが使用されています。私はこれをどのように解決するかについて完全に迷っています..
モバイルバージョンを検出していますが、そうではありません...何かアイデアはありますか?
私は非常に奇妙な問題を抱えています。さらに悪いことに、開発マシンではなく、運用環境 (Azure) でのみ発生します。
アプリで .Mobile バージョンのレイアウトが使用されていますが、ビューのデスクトップ (.mobile ではない) バージョンが使用されています。私はこれをどのように解決するかについて完全に迷っています..
モバイルバージョンを検出していますが、そうではありません...何かアイデアはありますか?
エンジンは、ここにあるファイルを使用します -C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers
(または\Framework64\
)
それらはおそらくどちらのマシンでも異なります。Request.Browser.IsMobileDevice を使用して、どのデバイスが何を検出したかを調べます。また、カスタム表示モードを書くことも役に立ちますか?
http://weblogs.asp.net/gunnarpeipman/archive/2011/09/18/asp-net-mvc-4-display-modes.aspx
以下に示した解決策が答えだと思いました(短時間は機能しました)が、しばらくすると間違ったビューに切り替わりました。
他のインターネットと同様に、Nuget から 51 Degreesをインストールしました。 これは完全に機能しており、セットアップも非常に簡単です。
(以下は私にはうまくいきませんが、あなたにはうまくいくかもしれません) http://www.nuget.org/packages/Microsoft.AspNet.Mvc.FixedDisplayModes
既知のバグのようです: http://aspnetwebstack.codeplex.com/workitem/280?PendingVoteId=280
上記のコードプレックスのリンクによると、これを確認することを忘れないでください:
登録されたビュー エンジンのリストをカスタマイズするプロジェクトの小さなセット (Global.asax など) では、Microsoft.Web.Mvc.FixedRazorViewEngine または Microsoft.Web.Mvc.FixedWebFormViewEngine を参照していることを確認する必要があります。コア ランタイム バイナリで出荷されるクラス