La mia applicazione è settata con la cultura pt-BR (data è gg-mm-aaaa) nel web.config:Passare un DateTime al controllore tramite URL che causa l'errore in ASP .NET MVC 3 (cultura)
<globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="iso-8859-15" responseHeaderEncoding="utf-8" resourceProviderFactoryType="string" enableBestFitResponseEncoding="true" culture="pt-BR" uiCulture="pt-BR" />
Tutti DateTime creato sul mio sistema è in formato giusto, ma ho creato un metodo di controllo del genere:
public ActionResult Test(DateTime date)
{
}
chiamata che metodo diretto nel browser sta passando null quando la data è in formato portoghese-br, come quello :
mysite/Test/?date=19/01/2012 => date = null in my controller
mysite/Test/?date=01/01/2012 => date is fine, but in US format (mm-dd-yyyy)
Come posso risolvere il problema, per accettare il formato della mia data?
Se si implementa il raccoglitore personalizzato, assicurarsi di registrarlo per DateTime? pure, non solo DateTime. – Justin
Ciao, Darin. Ho riscontrato lo stesso problema del post originale e la tua risposta e l'articolo citato mi hanno aiutato a comprendere il problema, ma non riesco ancora a raggiungere una risposta. Sto lavorando su ASP.NET Core 2.0 ma non so come applicare i consigli dell'articolo. Spero che tu possa dare un'occhiata a questa domanda: https://stackoverflow.com/questions/47442368/routing-datetime-parameter-passing-as-null-empty –