私はこのルーティングマップを持っています:
routes.MapRoute(
"ViewNews",
"{controller}/{action}/{id}/{title}",
new { controller = "Home", action = "NewsDetail", id = "", title = "" }
);
そして私の見解ではこのActionLink:
@Html.ActionLink(Model.Title, "NewsDetail", new { id = Model.Id, title = Url.ToFriendlyUrl(Model.Title) })
私はそれがこのようなものをレンダリングすることを期待しています:
http://localhost:49327/Home/NewsDetail/1/news-title
代わりに、次のようにレンダリングします。
http://localhost:49327/Home/NewsDetail/1?title=news-title
何が恋しい?
アップデート
次のように、デフォルトの前にMapRouteを移動しました。
routes.MapRoute(
"ViewNews",
"{controller}/{action}/{id}/{title}",
new { controller = "Home", action = "NewsDetail", id = "", title = "" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
しかし今、私が最初のURLを要求すると:
http://localhost:49327/Home
私はすぐに次の場所にリダイレクトされます:
http://localhost:49327/Home/NewsDetail/1/news-title
「NewsDetail」がデフォルトのアクションになりました!