2010-11-29 4 views
0

J'ai un projet MVC2 qui a une route dans la méthode RegisterRoutes comme suit:Comment utiliser une date (au format MM-jj-aaaa) dans une URL dans une application MVC?

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

Actuellement, l'URL d'un GET ressemble Airplanes/va123-va234/1 - Je voudrais ajouter une date comme: Airplanes/va123-va234/10-10-2010/1 mais je ne peux pas comprendre comment obtenir l'itinéraire pour mapper la date à ce format.

Répondre

0

Vous pouvez ajouter un paramètre pour la date

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

Dans votre méthode du contrôleur, assurez-vous de prendre un paramètre date.

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

Cela ne fonctionne pas. Je me retrouve avec une URL qui ressemble à ceci: 'Airplanes/22222-22300/11/29/2010 00% 3a00% 3a00'. Pour garder le "/" dans la date de visser l'url, et pour garder le temps hors de l'url, je veux * le * formater * dans l'url comme MM-jj-aaaa –

+1

Pouvez-vous montrer le code où vous appelez la méthode, Html.ActionLink, ControllerAction etc ... –

Questions connexes