urlHelper.RouteUrl未生成正确的URL

时间:2011-11-08 12:36:10

标签: asp.net-mvc-3

生成链接时代码位于控制器的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
        );

1 个答案:

答案 0 :(得分:6)

试试这样:

var url = urlHelper.RouteUrl("Wk", new { action = "C", slug = "XXX" });