2

サイト全体への切り替えリンクとモバイル リンクへの切り替えを作成したいと考えています。セッション変数を使用して、強制的にどちらかに移動させたくありません。ViewSwitcher Controller を使用して自動的に実行できるかどうかを知りたいです。

カスタムモバイル表示モードに使用しているものは次のとおりです

 public class MobileDisplayMode : DefaultDisplayMode
{
        public static readonly List<string> MobileList = new List<string>
    {
        "Android",
        "Mobile",
        "Opera Mobi",
        "Samsung",
        "HTC",
        "Nokia",
        "Ericsson",
        "SonyEricsson",
        "iPhone"
        ,"ipod"
        , "symbian"
         ,"android"
                        ,"windows ce"
                        ,"blackberry"
                        ,"palm"
                        ,"opera mini"
    };

    public MobileDisplayMode()
        : base("Mobile")
    {
        ContextCondition = (context => IsMobile(context, context.GetOverriddenUserAgent()));
    }

    private bool IsMobile(HttpContextBase context, string useragentString)
    {
        return context.Request.Browser.IsMobileDevice || MobileList.Any(val => useragentString.IndexOf(val, StringComparison.InvariantCultureIgnoreCase) >= 0);
    }
}

これが私のビュー スイッチャー コードです。IsMobile プロパティについて心配する必要はありません。モバイル表示モードと同じように処理されます。

        if (IsMobile == mobile)
        {
            HttpContext.ClearOverriddenBrowser();
        }
        else
        {
            HttpContext.SetOverriddenBrowser(mobile ? BrowserOverride.Mobile :                         BrowserOverride.Desktop);
        }
4

1 に答える 1

0

Jquery.Mobile.Mvcパッケージをプロジェクトに追加します。モバイルレイアウトが作成されます。これで、すべてのモバイルビューにデスクトップバージョンへのリンクが表示されます。以下のコードをデスクトップビューに配置して、ユーザーがモバイルに戻ることができるようにします。

@Html.ActionLink("Mobile view", "SwitchView", "ViewSwitcher", new { mobile = true, returnUrl = Request.Url.PathAndQuery }, new { rel = "external" })
于 2012-11-28T21:12:15.297 に答える