禁用aspnet.friendlyurl的平板电脑移动重定向

时间:2014-04-15 10:29:11

标签: asp.net mobile tablet

我的网站响应Twitter Bootstrap,桌面版专为平板电脑和桌面设计。 aspnet.friendlyUrls将平板电脑设备视为移动设备并将其发送至" .Mobile.aspx"当量。如何禁用此行为并将平板电脑保留在桌面页面上?

2周后仍然没有发表评论甚至评论?我是唯一真正使用aspnet.FriendlyUrls的人,即使它默认分发在新的VS2013 Asp.Net项目中吗?

2 个答案:

答案 0 :(得分:32)

没有设置可以关闭此功能,但您可以通过删除Site.Mobile.Master和ViewSwitcher文件来禁用此功能

不再需要以下文件:

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

ViewSwitcher
  - ViewSwitcher.cs
  - ViewSwitcher.ascx.cs

感谢@fortboise简化我的回答

答案 1 :(得分:1)

删除将无法解决问题,方法是覆盖TrySetMobileMasterPage。

第一步:创建一个类

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

}

进入App_Start / RouteConfig并设置:

public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings, new MyWebFormsFriendlyUrlResolver());
    }