Disable aspnet.friendlyurl's mobile redirect for tablets

后端 未结 2 550
情话喂你
情话喂你 2020-12-15 05:57

My Website is responsive with Twitter Bootstrap and the desktop pages are designed for tablets and desktop. aspnet.friendlyUrls considers tablet devices as mobile and sends

相关标签:
2条回答
  • 2020-12-15 06:40

    There is no setting to turn this off, but you can disable this by deleting the Site.Mobile.Master and ViewSwitcher files

    The following files are no longer needed:

    Site.Mobile.Master
    - Site.Mobile.Master.cs
    - Site.Mobile.Master.designer.cs

    ViewSwitcher
    - ViewSwitcher.cs
    - ViewSwitcher.ascx.cs

    Thanks to @fortboise for simplifying my answer

    0 讨论(0)
  • 2020-12-15 06:42

    Remove the won't solve the problem, the way is override the TrySetMobileMasterPage.

    step one: Create a Class

    public class MyWebFormsFriendlyUrlResolver : Microsoft.AspNet.FriendlyUrls.Resolvers.WebFormsFriendlyUrlResolver
    {
    protected override bool TrySetMobileMasterPage(HttpContextBase httpContext, Page page, String mobileSuffix)
    {
        if (mobileSuffix == "Mobile")
        {
            return false;
        }
        else
        {
            return base.TrySetMobileMasterPage(httpContext, page, mobileSuffix);
        }
    }
    

    }

    After go in App_Start/RouteConfig and set:

    public static void RegisterRoutes(RouteCollection routes)
        {
            var settings = new FriendlyUrlSettings();
            settings.AutoRedirectMode = RedirectMode.Permanent;
            routes.EnableFriendlyUrls(settings, new MyWebFormsFriendlyUrlResolver());
        } 
    
    0 讨论(0)
提交回复
热议问题