代码之家  ›  专栏  ›  技术社区  ›  puffpio

如何控制ASP.NET MVC路由生成?

  •  0
  • puffpio  · 技术社区  · 15 年前

    我有一条像

            routes.MapRoute(
            "Reports",                                              // Route name.
            "reports/{controller}/{action}/{id}/{start}/{end}",     // URL with parameters.
            new { controller = "Home", action = "Index", id = "", start="", end="" }  // Parameter defaults.
        );
    

    哪里 start end 是日期时间吗?

    当我编写html.actionLink时,它使用 DateTime.ToString 方法。这些日期有正斜线,会扰乱路线。我想以某种方式控制生成的路由 ISO 8601 日期字符串。

    理想情况下,我不想更改我的操作来获取字符串并在代码中转换,我希望向路由生成器发出信号来调用适当的 ToString 我的选择太多了。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Agent_9191    15 年前

    在你 Html.ActionLink ,当您声明开始值和结束值时,为什么不执行以下操作:

    new{start = String.Format("{0:YYYY-MM-dd}", SomeDate)}
    

    或者如果你也需要时间:

    new{start = String.Format("{0:s}", SomeDate)}
    

    有点工作,但它可以保证格式正确。