web-dev-qa-db-ja.com

タブレット用のaspnet.friendlyurlのモバイルリダイレクトを無効にする

私のウェブサイトはTwitterで応答しますBootstrapそしてデスクトップページはタブレットとデスクトップ用に設計されています。aspnet.friendlyUrlsはタブレットデバイスをモバイルと見なし、それらを「.Mobile.aspx」に相当するものに送信します。この動作を無効にして、タブレットをデスクトップページに保持しますか?

2週間後、まだawnserもコメントもありませんか?デフォルトで新しいVS2013Asp.Netプロジェクトで配布されている場合でも、実際にaspnet.FriendlyUrlsを使用しているのは私だけですか?

18
Jeroen

これをオフにする設定はありませんが、Site.Mobile.MasterファイルとViewSwitcherファイルを削除することで無効にできます。

次のファイルは不要になりました。

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

ViewSwitcher
-ViewSwitcher.cs
-ViewSwitcher.ascx.cs

私の答えを単純化してくれた@fortboiseに感謝します

35
Thom

削除しても問題は解決しません。方法は、TrySetMobileMasterPageをオーバーライドすることです。

ステップ1:クラスを作成する

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