Ứng dụng của tôi là setted với văn hóa pt-BR (ngày là dd-mm-yyyy) trong web.config:Đi qua một DateTime để điều khiển thông qua URL gây ra lỗi trong ASP NET MVC 3 (văn hóa)
<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" />
Tất cả DateTime được tạo ra trên hệ thống của tôi là ở định dạng đúng, nhưng tôi đã tạo ra một phương pháp điều khiển như thế:
public ActionResult Test(DateTime date)
{
}
gọi method đó trực tiếp trong trình duyệt được đi qua null khi ngày là với định dạng portuguese-br, như thế :
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)
Làm cách nào để khắc phục điều đó, để chấp nhận định dạng ngày của tôi?
Nếu bạn triển khai trình kết dính tùy chỉnh, hãy đảm bảo đăng ký nó cho DateTime? là tốt, không chỉ DateTime. – Justin
Xin chào, Darin. Tôi đã gặp phải vấn đề tương tự như bài đăng gốc và câu trả lời của bạn và bài viết được trích dẫn đã giúp tôi hiểu vấn đề nhưng tôi chưa thể đưa ra câu trả lời. Tôi đang làm việc trên ASP.NET Core 2.0 nhưng tôi không biết làm thế nào để áp dụng các gợi ý của bài báo. Hy vọng bạn có thể xem xét câu hỏi này: https://stackoverflow.com/questions/47442368/routing-datetime-parameter-passing-as-null-empty –