2011-06-18 11 views
10

Kiedy Podjęcie DateTime parametr do RedirectToAction (Asp.Net MVC2) albo przekazując DateTime lub przekazując datę: "13/4/2000"Przechodząc Data Parametr do RouteValues ​​RedirectToAction

return RedirectToAction("index", "ControllerName", new { mydate = DTHelper.PrintDate(myVM.someobject.someobjectDateTime) }); 

Parametr przekazany z tej reprezentacji - który kontroler nie może rozwiązać:

http://localhost:6105/ControllerName?mydate=19%2F6%2F2011

jak mogę zrobić to przekazać jak oryginalna (działa gdy buduję sobie adres URL):

(to nie zadziała b/c% 2F ....)

Odpowiedz

16

Spróbuj użyć następującego formatu podczas przechodzenia wokół dat: yyyy-MM-dd:

var date = myVM.someobject.someobjectDateTime.ToString("yyyy-MM-dd"); 
return RedirectToAction("index", "ControllerName", new { mydate = date }); 

Teraz w indeksie powinna być w stanie uzyskać poprawna data:

public ActionResult Index(DateTime mydate) 
{ 
    ... 
} 

i jeśli chciałeś składnikiem czas użyć następującego formatu: yyyy-MM-dd HH:mm:ss

+0

Dzięki, będę to sprawdzić, ale migh t mają pewne problemy z różnicą w formacie UE/USA, ale najpierw spróbuję w ten sposób. – Dani

Powiązane problemy