2

私はいくつかのURLのようにいくつかのURLルーティングを行いました。

routes.MapRoute(
                "ProductDetails",
                "Product/{name}/{*other}",
                new { controller = "Product", action = "Details" }
            );

/Product/{name}上記のコードは、タイプのすべてのURLをにルーティングし/Product/Details/{parameter}ます。正常に動作しているので、URL/Product/Listを入力する場合は、デフォルトのルーティングで処理する必要があります。

そして、私はリストのためにもう1つのルートを作成したくありません。

お知らせ下さい。

4

1 に答える 1

5

パラメータの制約を追加しnameます(リストと等しくありません):

routes.MapRoute(
    name: "ProductDetails",
    url: "Product/{name}/{*other}",
    defaults: new { controller = "Product", action = "Details" },
    constraints: new { name = "^(?!List$).*$" }
);

このルートは/Product/ListURLと一致しません

他の名前も除外する場合は更新します。^(?!(List|Foo|Bar)$).*$

于 2012-12-27T15:09:40.480 に答える