生成链接时代码位于控制器的Indexx中。 所以链接是以这种形式生成的
Wk/Index/XX/YYYY
网址代码
url = urlHelper.RouteUrl("Wk", new { slug});
但我需要链接将以此形式
Wk/C/XXX
这里c是另一个Action名称 如何实现这一目标。
My Global Asax看起来像
routes.MapRoute(
"Default", // Route name
"{controller}/{id}", // URL with parameters
new { controller = "Home", action = "Index" , id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Wk", // Route name
"{controller}/{action}/{slug}/{id}", // URL with parameters
new { controller = "Wk", action = "c", slug = "", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Book", // Route name
"{controller}/{id}/{pageNo}", // URL with parameters
new { controller = "Book", action = "Index",id = UrlParameter.Optional,pageNo = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"UserArea", // Route name
"{controller}/{slug}/{id}", // URL with parameters
new { controller = "UserArea", action = "Index", slug = UrlParameter.Optional, id = UrlParameter.Optional } // Parameter defaults
);
答案 0 :(得分:6)
试试这样:
var url = urlHelper.RouteUrl("Wk", new { action = "C", slug = "XXX" });