Làm thế nào tôi có thể ép định dạng datetime trong asp.net mvc 4? Ở chế độ hiển thị, nó hiển thị như tôi muốn nhưng trong mô hình chỉnh sửa thì không. Tôi đang sử dụng displayfor và editorfor và applyformatineditmode = true với dataformatstring = "{0: dd/MM/yyyy}" Những gì tôi đã cố gắng:Định dạng ngày giờ trong asp.net mvc 4
- toàn cầu hóa trong web.config (cả trong số họ) với văn hóa của tôi và uiculture.
- sửa đổi văn hóa và uiculture trong Application_Start()
- tùy chỉnh ModelBinder cho datetime
Tôi không có ý tưởng làm thế nào để buộc nó và tôi cần phải nhập ngày như dd/MM/yyyy không phải là mặc định.
MORE INFO: viewmodel của tôi là như thế này
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
theo quan điểm của tôi sử dụng @Html.DisplayFor(m=>m.Birth)
nhưng công trình này như mong đợi (tôi thấy các định dạng) và đầu vào ngày tôi sử dụng @Html.EditorFor(m=>m.Birth)
nhưng nếu tôi cố gắng và đầu vào một cái gì đó như 13/12/2000 là không thành công với các lỗi mà nó không phải là một ngày hợp lệ (12/13/2000 và 2000/12/13 đang làm việc như mong đợi nhưng tôi cần dd/MM/yyyy).
Trình tùy chỉnh modelbinder được gọi trong application_start() b/c Tôi không biết nơi nào khác.
Sử dụng <globalization/>
Tôi đã thử với culture="ro-RO", uiCulture="ro"
và các nền văn hóa khác sẽ cung cấp cho tôi dd/MM/yyyy. Tôi cũng đã cố gắng để cài đặt nó trên một cơ sở cho mỗi chủ đề trong Application_Start() (có rất nhiều ví dụ ở đây, làm thế nào để làm điều này)
Đối với tất cả những gì sẽ đọc câu hỏi này: Dường rằng câu trả lời của Darin Dimitrov sẽ hoạt động miễn là tôi không có xác nhận của khách hàng. Cách tiếp cận khác là sử dụng xác thực tùy chỉnh bao gồm xác thực phía máy khách. Tôi rất vui vì tôi đã tìm thấy điều này trước khi tạo lại toàn bộ ứng dụng.
Ông có thể vui lòng cung cấp một ít thông tin hơn? Mô hình, bộ điều khiển và chế độ xem của bạn? Cũng cung cấp một ví dụ về đầu ra khác nhau mà bạn nhận được giữa mẫu hiển thị và trình soạn thảo. Cũng lưu ý rằng văn hóa được thiết lập cho mỗi sợi. Bạn đã đề cập đến một cái gì đó về 'Application_Start' nhưng điều này được thực hiện chỉ một lần, khi ứng dụng của bạn bắt đầu. Điều gì về các yêu cầu tiếp theo? Làm thế nào bạn thiết lập văn hóa cho họ? –
application_start chỉ được thực hiện một lần! Sử dụng application_beginRequest để thay thế! – Nas
Nas, ở đâu application_beginYêu cầu là? Tôi chỉ thấy application_start trong Global. Trong mvc 4 thứ bắt đầu khác một chút thì mvc 3 – amb