it-swarm.com.de

Deaktivieren Sie die mobile Weiterleitung von aspnet.friendlyurl für Tablets

Meine Website reagiert mit Twitter Bootstrap und die Desktopseiten wurden für Tablets und Desktops entwickelt. aspnet.friendlyUrls betrachtet Tablet-Geräte als mobil und sendet sie an die Entsprechung ".Mobile.aspx". Wie kann ich dieses Verhalten deaktivieren und Tablets auf den Desktopseiten belassen?

2 Wochen später und noch keine Erwähnung oder gar einen Kommentar? Bin ich der einzige, der tatsächlich aspnet.FriendlyUrls verwendet, auch wenn es standardmäßig in neuen VS2013-Asp.Net-Projekten verteilt wird?

17
Jeroen

Es gibt keine Einstellung, um dies zu deaktivieren. Sie können dies jedoch deaktivieren, indem Sie die Dateien Site.Mobile.Master und ViewSwitcher löschen

Die folgenden Dateien werden nicht mehr benötigt:

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

ViewSwitcher
- ViewSwitcher.cs
- ViewSwitcher.ascx.cs

Vielen Dank an @fortboise für die Vereinfachung meiner Antwort

32
Thom

Entfernen Sie das wird das Problem nicht lösen, der Weg ist die TrySetMobileMasterPage überschreiben.

schritt eins: Erstellen Sie eine Klasse

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

}

Gehen Sie danach in App_Start/RouteConfig und stellen Sie ein:

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