ASP MVC DateTime проблема проверки модели проблемы - PullRequest
3 голосов
/ 12 сентября 2010

У меня есть MS SQL на моем локальном сервере разработки и производственном сервере.Формат DateTime моего локального сервера - «мм / дд / гггг», но формат на рабочем сервере - «дд / мм / гггг».Все работало нормально на моем локальном сервере, но когда я пытаюсь ввести дату типа «31.05.2010» на моем производственном сервере, проверка модели выдает ошибку «Значение« 05/31/2010 »недействительно.... "с месяца не может быть больше 12. Я не хочу менять DateTime ни на одном из серверов.Может ли какой-нибудь орган сказать мне способ избавиться от этой проблемы, чтобы все нормально работало на обоих моих серверах?

Ответы [ 2 ]

1 голос
/ 12 сентября 2010

Вы можете попробовать добавить элемент Глобализация в web.config - Конфигурация> System.web:

<globalization culture="en-US" uiCulture="en-US" />

У меня была похожая проблема - хотя, как известно, как британец,обратное - и это решило проблему.

0 голосов
/ 12 сентября 2010

Я думаю, что эта статья , вероятно, то, что вам нужно, с точки зрения того, как привязка модели работает с локализацией.

Неясно, где вы вводите свои данные, но я бы посоветовал вам либо явно указать пользователю вводить даты в одном конкретном формате, либо использовать средство выбора календаря, либо разделить три поля в пользовательском интерфейсе. По сути, не оставляйте это двусмысленным - вы получите , чтобы пользователи использовали один формат вместо того, который вы на самом деле используете.

Обратите внимание, что все это должно быть сделано задолго до того, как оно приблизится к вашей базе данных - формат вашей базы данных не должен иметь значения, так как вы должны использовать параметризованные запросы, которые когда-либо имеют дело только с DateTime и DateTimeOffset для значений, связанных со временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...