Disable aspnet.friendlyurl's mobile redirect for tablets

Deadly 提交于 2019-11-29 11:29:17

问题


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 them to the ".Mobile.aspx" equivalent. How can I disable this behavior and keep tablets on the desktop pages?

2 Weeks later and still no awnser or even a comment? Am i the only one who actually uses aspnet.FriendlyUrls even if it's distributed in new VS2013 Asp.Net projects by default?


回答1:


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




回答2:


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());
    } 


来源:https://stackoverflow.com/questions/23081059/disable-aspnet-friendlyurls-mobile-redirect-for-tablets

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!