0

MVC には、「system.web.webpages」というプロジェクトで参照できる dll があり、これを使用して、以下のように global.asax ファイルの「application_start」メソッド内でアダプティブ レンダリングを実行します。

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone")
            {
                ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf
                    ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
            });

Web フォームに同様の機能はありますか?

可能であれば、モバイル マスターページを含む別のモバイル フォルダーを作成し、preinit イベントをチェックインして、モバイル マスターページをレンダリングするように切り替えたくありません。特定のタイプのモバイルデバイスなどをチェックするのは明らかに柔軟ではありません.

4

1 に答える 1

1

Request.Browser.IsMobileDevice を使用して、モバイル デバイスを検出し、レンダリングを適応させることができます。最新のモバイル デバイス リストを使用することをお勧めします。たとえば、51degrees.mobi を使用できます。

これは、あなたのやり方に役立つ広範なホワイトペーパーです。

編集:

ホワイトペーパーによると、「これは簡単に実行できます。たとえば、次のような PreInit ハンドラを Web フォームに追加できます。

protected void Page_PreInit(object sender, EventArgs e)
{
    if (Request.Browser.IsMobileDevice)
        MasterPageFile = "~/Mobile.Master";
}

"

51degrees.mobi が正確なモバイル デバイスを提供する場合は、そこにさまざまなデバイス用のマスターページ ファイルを設定できます。

于 2013-08-08T18:57:55.727 に答える