2010-09-16 5 views
15

Mam nadzieję, że pytanie jest łatwe, ale szukam przez ponad godzinę i po prostu nie znajduję odpowiedzi. Mam więc aplikację asp.net mvc 2, a jeden z formularzy zawiera pole tekstowe z datownikiem jquery. Ustawiłem w datepicker format daty na dd.mm.yyyy. Mój problem polega na tym, że na powiązaniu modelu ta data jest interpretowana jako mm.dd.yyyy, więc do czasu, gdy model osiągnie moją metodę działania, atrybut DateTime modelu jest nieprawidłowy (dzień i miesiąc jest odwrotny, jeśli nie można odwrócić tego klienta sprawdzanie poprawności strony nie pozwala mi zapisać elementu). Nie chcę zmieniać kultury, ale chciałbym jakoś sprecyzować modelowy sposób interpretacji daty. Czy to możliwe?Jak określić format daty wiązania modelu?

Thanks a lot

Odpowiedz

7

This blog post wyjaśnia, w jaki sposób można określić konkretny format daty, który ma być stosowany w segregatorze modeli MVC.

Trzeba będzie stworzyć realizacji wiążącej niestandardowy model, który jest świadomy formatu daty, a następnie skojarzyć, że z typem DateTime w swoim Global.asax.cs:

protected void Application_Start() 
{ 
    //... 
    var binder = new DateTimeModelBinder(GetCustomDateFormat()); 
    ModelBinders.Binders.Add(typeof(DateTime), binder); 
}