2013-05-28 4 views
0

Я получаю эту ошибку только при отправке формы в Internet Explorer 10, а не 9, и я тоже не получаю ошибку в FireFox.Строка не была признана действительной DateTime в Internet Explorer 10

request.RequestedShipment.ShipTimestamp = Convert.ToDateTime(txtDate.Text); 

The txtDate использует DatePicker, который отправляет 5/28/2013 в приложение, эта проблема только начали происходить из ниоткуда, и только в IE10. У кого-нибудь есть идея, почему?

Я огляделся и не могу найти ответы на вопрос об этом только в IE10, и я не являюсь C# -кодером.

+0

Это действительный формат C# DateTime. Вы уверены, что это формат, который получает код C#? – evanmcdonnal

+0

Несмотря на то, что он использует datepicker, я также попытался поставить 05-28-2013 2013-05-28 05/28/2013 и 2013/05/28 вручную, и он дает ту же ошибку. –

+1

Когда вы отлаживаете этот код на стороне сервера, является ли значение txtDate.Text различным в зависимости от того, какой браузер используется? Если да, каковы значения? –

ответ

0

Догадка, но ваша тестовая система IE 10/пользователь работает на другом языке? Скажем, тот, который отформатировал бы эту дату как 28/5/2013, и не знал, какой месяц использовать для 28?

+0

Это клиентская сторона, хотя я попытался поставить '05-28-2013'' 2013-05-28'' 05/28/2013' и '2013/05/28' с той же ошибкой. –

+0

Культура на стороне клиента может быть передана серверу ... но 2013-05-28 должно было работать в любом месте. –

0

Это не язык, а язык. Скажем, США используют MM/dd/yyyy, а Великобритания и Австралия используют dd/MM/yyyy. Вы должны проверить Панель управления -> Регион и язык и проверить локаль. Хорошим способом избежать такой путаницы является использование формата даты ISO yyyy-MM-dd.

Смежные вопросы