Jaki jest najlepszy sposób edytowania właściwości DateTime dopuszczającej wartość null w asp.net MVC 3 w oddzielnych polach tekstowych lub listach rozwijanych?
Chcę podzielić DateTime na dzień, miesiąc irok - wyświetl miesiąc jako rozwijaną listę. Właściwość jest opcjonalna, więc powinna mieć wartość null, jeśli nie podano daty. Zakładam, że muszę użyć niestandardowego segregatora modelu, takiego jak ten dla MVC 2: http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx - ale wydaje się, że to nie działa z opcjonalnymi datami, a walidacja po stronie serwera nie jest uruchamiana prawidłowo (np. wprowadzanie tekstu daty). Nie chcę tutaj używać jQuery.
Powinno to być całkiem proste, dość powszechne zastosowanie - prawda? Dzięki za wskazanie mi właściwego kierunku.
Odpowiedzi:
0 dla odpowiedzi № 1Właściwie w dzisiejszych czasach byłby to powszechny przypadek użyciaaby używać jQuery i pojedynczego pola tekstowego, ale jeśli naprawdę chcesz korzystać z list rozwijanych, musisz mieć w swoim modelu oddzielne właściwości dla dnia / miesiąca / roku i wykonać konwersję na datę w akcji kontrolera.
Możesz zrobić separację w widoku lub za pomocą pomocnika HTML, który generuje JavaScript i ukryte pole, ale to staje się zbyt logiczne dla widoku.