用于非标准路由的Html.ActionLink

时间:2009-03-24 20:36:46

标签: asp.net-mvc routing

我有这样的路线定义:

routes.MapRoute(
    "Pagesize",
    "{controller}/{action}/pagesize/{pagesize}",
    new { controller = "Home", action = "Index", pagesize = 10 }
);

当我使用

<%= Html.ActionLink("MyText", "myaction", new { pagesize = 10 }) %>

它呈现为

<a href="/myaction/?pagesize=10">MyText</a>

我可以理解我滥用ActionLink,因为我/之间有/ pagesize /。如何正确使用它来创建链接?

<a href="/myaction/pagesize/10">MyText</a>

请注意我使用的是mvc RC2而没有其他帮助程序库。 RC2中不再存在通用ActionLink。

2 个答案:

答案 0 :(得分:4)

尝试:

<%= Html.RouteLink("MyText", "Pagesize", new { controller = "Home", action = "Index", pagesize = 10 })%>

答案 1 :(得分:0)

您是否已尝试在地图路线命令中指定默认值

routes.MapRoute("Pagesize",
"{controller}/{action}/pagesize/{pagesize}",
new {pagesize = 10 },
new { controller = "Home", action = "Index" });