UrlHelper.RouteUrl не создает правильный URL - PullRequest
2 голосов
/ 08 ноября 2011

Когда сгенерированы ссылки, код находится в Indexx контроллера.Таким образом, ссылка генерируется в этой форме

Wk/Index/XX/YYYY

Код ссылки:

 url = urlHelper.RouteUrl("Wk", new { slug});

Но мне нужна ссылка будет в этой форме

Wk/C/XXX

Здесьc - другое имя действия. Как этого можно достичь.

Мой глобальный асакс выглядит как

        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 Ответ

6 голосов
/ 08 ноября 2011

Попробуй так:

var url = urlHelper.RouteUrl("Wk", new { action = "C", slug = "XXX" });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...