2

SPA アプリケーションを構築している場合、サーバーにヒットするすべての URL を、SPA 用の index.html とすべての JavaScript をロードする 1 つのコントローラーに送るだけです。

これは、履歴 API をサポートするブラウザーで html5mode がハッシュを削除するためです。したがって、ユーザーが html5mode SPA URL を更新すると、サーバーにヒットします...

これに対する私の解決策は、「デフォルト」ルートを作成することです...しかし、RouteCollectionでこれを簡単にする方法が見つかりません...

更新: これが機能するルートです。これを行うためのより良い方法はありますか?これをしてはいけない理由はありますか?

        routes.MapRoute(
            name: "Default",
            url: "{*things}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
4

1 に答える 1

1

無限の数のルートを作成するのではなく、キャッチオール ルート パラメータを使用して実装を単一のルート定義に置き換えることができます。

{something}/{*parameters}

このキャッチオールを使用すると、URL のこの時点以降のすべてがキャッチされます。

于 2013-10-05T19:04:50.053 に答える