【问题标题】:Html.ActionLink for non-standard routing用于非标准路由的 Html.ActionLink
【发布时间】:2009-03-24 20:36:46
【问题描述】:

我有一个这样的路由定义:

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。

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

    试试:

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

    【讨论】:

      【解决方案2】:

      您是否尝试过在 map route 命令中指定默认值

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

      【讨论】:

      • 我已经使用 new { controller = "Home", action = "Index", pagesize = 10 } 设置默认值。也试过你的代码,但没有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      • 2016-09-19
      • 1970-01-01
      相关资源
      最近更新 更多