Я передаю дату на свой сервер в инвариантной культуре, следующий формат
'mm/dd/yy'
Привязка параметра в MVC не может проанализировать эту дату и возвращает ноль для параметра. Это объясняется тем, что IIS работает на компьютере с использованием английского языка («dd / mm / yy» работает просто отлично).
Я хочу переопределить разбор всех дат на моем сервере, чтобы использовать инвариантную культуру, например, так ...
Convert.ChangeType('12/31/11', typeof(DateTime), CultureInfo.InvariantCulture);
, даже если дата является частью другого объекта ...
public class MyObj
{
public DateTime Date { get; set; }
}
Мой метод контроллера выглядит примерно так ...
public ActionResult DoSomethingImportant(MyObj obj)
{
// use the really important date here
DoSomethingWithTheDate(obj.Date);
}
Дата отправляется в виде данных Json, вот так ...
myobj.Date = '12/31/11'
Я пытался добавить реализацию IModelBinder к binderDictionary в global.asax
binderDictionary.Add(typeof(DateTime), new DateTimeModelBinder());
Это не работает, и не работает
ModelBinders.Binders.Add(typeof(DateTime), new DataTimeModelBinder());
Похоже, что некоторые люди захотят делать все время. Я не могу понять, почему вы анализируете даты и т. Д. В текущей культуре на сервере. Клиент должен был бы узнать культуру сервера только для того, чтобы отформатировать даты, которые сервер сможет проанализировать .....
Любая помощь приветствуется!