Asp.net mvc 2 如何在MVC应用程序的URL中使用日期(MM-dd-yyyy格式)?

Asp.net mvc 2 如何在MVC应用程序的URL中使用日期(MM-dd-yyyy格式)?,asp.net-mvc-2,asp.net-mvc-routing,Asp.net Mvc 2,Asp.net Mvc Routing,我有一个MVC2项目,它在RegisterRoutes方法中有一个路由,如下所示: routes.MapRoute( "PrettyUrl", "Airplanes/{query}/{page}", new { controller = "Airplanes", action = "Details", query ="", page = 0 } ); 当前,GET的URL看起来像飞机/va123-va234/1-我想添加一个日期,如:飞机/va123-va234/10-

我有一个MVC2项目,它在RegisterRoutes方法中有一个路由,如下所示:

routes.MapRoute(
    "PrettyUrl",
    "Airplanes/{query}/{page}",
    new { controller = "Airplanes", action = "Details", query ="", page = 0 }
);

当前,GET的URL看起来像
飞机/va123-va234/1
-我想添加一个日期,如:
飞机/va123-va234/10-10-2010/1
,但我不知道如何获取路线以将日期映射到此格式。

您可以为日期添加一个参数

routes.MapRoute(
    "PrettyUrl",
    "Airplanes/{query}/{date}/{page}",
    new { controller = "Airplanes", action = "Details", query ="", page = 0, 
          date = UrlParameter.Optional }
);
在控制器方法中,确保输入
date
参数

    public ActionResult Details(string query, string date, int page) {
        var newDate = DateTime.Parse(date);
        return View();
    }

这不管用。最后我得到了一个类似这样的URL:
Airplanes/22222-22300/11/29/2010 00%3a00%3a00
。为了避免日期中的“/”弄乱url,并避免url中的时间,我想在url中将其格式设置为MM dd YYYY,您可以显示调用方法的代码,Html.ActionLink、ControllerAction等。。。