3

コントローラ名を URL から隠したい。以下のコードを使用しています。

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

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

これは完璧に機能します。

しかし、私が入力したときにのみ機能します

http :// domain/ActionName

そうでなければ、私はまだ見ることができます

http :// domainname/controller/action

http ://domain/ActionNameユーザーが入力しようとしても方法はありますか

http :// domainname/controller/action
4

2 に答える 2

2

コントローラー ( Home) が 1 つしかない場合、ルート定義は 1 つしか持てないと思います (すべてのアクションが同じパラメーター パターンを共有すると仮定します)。

routes.MapRoute(
    name: "Customized",
    url: "{action}/{id}",
    defaults: new { controller = "Home", action = "Default", id = UrlParameter.Optional }
);
于 2013-10-23T12:28:02.783 に答える