0

SPA アプリケーションでマッピングを設定しました。基本的なマッピングでは、Web API と以下を使用します。

    routes.MapRoute(
        "spa",
        "{section}/{id}",
        new { controller = "Home", action = "Index", id = UrlParameter.Optional },
        new { section = @"home|admin" });

ユーザーが /home/abc と入力すると、ホーム コントローラーと index メソッドが呼び出されます。

次のようなリクエストを3 つの部分で行うにはどうすればよいですか

/home/abc/def
/home/overview/123
/home/xx/12
/home/anything/anything

は完全に無視されますか? 実際には id パラメーターは必要ないことに注意してください。ただし、違いはないようで、ホーム コントローラーとインデックス メソッドを呼び出すため、ここに残しました。

4

4 に答える 4

2

無視した後にワイルドカードを使用しhome/acb/ます。何かのようなもの:

 routes.IgnoreRoute("home/abc/{*pathinfo}");

/それは、後に何かを無視する必要がありますhome/abc

于 2013-08-30T12:34:27.647 に答える
2

それは回避策として取られるかもしれません..

IRouteConstraintを使用して Constraint クラスを 1 つ記述し、その制約をidパラメーターに追加します。次に、独自のロジックを記述して、リクエストで渡された URL セグメントをチェックし、URL 要件に従って TRUE/FALSE を返すことができます...

わかる???

于 2013-08-30T12:31:24.850 に答える
1

デフォルト ルートが削除されていることを確認します。

//routes.MapRoute(
//    name: "Default",
//    url: "{controller}/{action}/{id}",
//    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
于 2013-08-30T13:11:38.873 に答える
-1

無視するように追加するだけかもしれません

    routes.IgnoreRoute(route1)
于 2013-08-30T12:28:32.307 に答える