Mon site Web est réactif avec Twitter Bootstrap et les pages de bureau sont conçues pour les tablettes et les ordinateurs de bureau. aspnet.friendlyUrls considère les tablettes comme mobiles et les envoie à l’équivalent ".Mobile.aspx". Comment désactiver ce comportement et conserver les tablettes sur les pages du bureau?
2 semaines plus tard et toujours pas de réponse ou même un commentaire? Suis-je le seul à utiliser réellement aspnet.FriendlyUrls même s'il est distribué par défaut dans les nouveaux projets Asp.Net VS2013?
Aucun paramètre ne permet de désactiver cette option, mais vous pouvez le faire en supprimant les fichiers Site.Mobile.Master et ViewSwitcher.
Les fichiers suivants ne sont plus nécessaires:
Site.Mobile.Master
- Site.Mobile.Master.cs
- Site.Mobile.Master.designer.cs
ViewSwitcher
- ViewSwitcher.cs
- ViewSwitcher.ascx.cs
Merci à @fortboise pour avoir simplifié ma réponse
Supprimer le ne résoudra pas le problème, le moyen est de remplacer le TrySetMobileMasterPage.
première étape: créer un cours
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);
}
}
}
Après aller dans App_Start/RouteConfig et définissez:
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings, new MyWebFormsFriendlyUrlResolver());
}