Как контролировать генерацию ASP.NET MVC Route? - PullRequest
0 голосов
/ 28 октября 2009

У меня есть маршрут как

        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 - DateTime?

Когда я пишу Html.ActionLink, он генерирует маршрут, используя метод DateTime.ToString. Эти даты имеют косые черты, что нарушает маршрут. Я хотел бы как-то управлять генерацией маршрута для генерации ISO 8601 строк даты.

В идеале я не хочу менять свои Действия, чтобы принимать строки и преобразовывать мой код, я хотел бы дать сигнал генератору маршрутов для вызова соответствующей ToString перегрузки по моему выбору.

1 Ответ

4 голосов
/ 28 октября 2009

В вашем Html.ActionLink, когда вы объявляете начальное и конечное значения, почему бы не сделать что-то вроде:

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

или это, если вам нужно время там тоже:

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

Немного работы, но он гарантирует, что отформатирован правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...