Member 12586784 Ответов: 2

При попытке обновления появляется строка ошибки, которая не была распознана как допустимая дата-время.


вот мой код

обновление информации.UpdateBlackList(
lblID.Текст,
Преобразовать.Объект Todatetime(TextBoxMD.Текст),
Преобразовать.Объект Todatetime(TextBoxPD.Текст),
Преобразовать.ToDateTime(TextBoxPERD.Текст),
Преобразовать.Объект Todatetime(TextBoxID.Текст),
Преобразовать.Объект Todatetime(TextBoxFD.Текст),
TextBoxPV.Элемент.Текст,
TextBoxDN.Текст,
TextBoxFN.Текст,
TextBoxDA.Текст,
TextBoxDD.Текст,
Преобразовать.ToDateTime(TextBoxDVF.Текст),
Преобразовать.Объект Todatetime(TextBoxDVT.Текст),
Преобразовать.Объект Todatetime(TextBoxED.Текст),
TextBoxMN.Текст,
TextBoxRA.Текст,
TextBoxR.Текст,
TextBoxS.Элемент.Текст,
Система, Окружающая Среда.имя пользователя,
Датавремя.Сейчас
);

Что я уже пробовал:

&ЛТ;АСП:контента ID="Content1" атрибутом ContentPlaceHolderID="голова" атрибут runat="сервер"и GT;

&ЛТ;АСП:контента ID="Content2" атрибутом ContentPlaceHolderID="объекту contentplaceholder1" атрибут runat="сервер"и GT;
&ЛТ;АСП:ToolkitScriptManager идентификатор="ToolkitScriptManager1" атрибут runat="сервер"и GT;


Соответствие Требованиям Транспортного Черного Списка


<asp:UpdatePanel ID= "UpdatePanel1" runat= "server">
< contenttemplate>
< asp:GridView ID=" GridView1 "class=" table table-bordered table-condensed "AutoGenerateColumns=" false"
EmptyDataText= " запись не найдена !!!" DataKeyNames= " id "AllowPaging=" true"
runat= "server" PagerSettings-Mode= "Numeric">
&ЛТ;rowstyle свойства backcolor="#ffffff" размер шрифта="11px" шрифт-имен="Вердана" цвет="черный"и GT;
HorizontalAlign= "Center" />
&ЛТ;HeaderStyle свойства backcolor="темно-серый" размер шрифта="11px" цвет="белый" HorizontalAlign="центр" /&ГТ;
<alternatingrowstyle backcolor= "Белый">
&ЛТ;колонны&ГТ; &ЛТ;АСП:шаблон HeaderText="редактировать"и GT;
& lt;itemtemplate>
&ЛТ;как ASP:ImageButton с ИД="imgbtn" Url_изображения="~/Edit.jpg" атрибут runat="сервер" ширина="25" высота="25"
Функция onclick="imgbtn_Click" /&ГТ;


&ЛТ;как ASP:BoundField datafield в="идентификатор" HeaderText="идентификатор" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="расположение" HeaderText="местоположение" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="vendoName" HeaderText="поставщика" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="VehcleName" HeaderText="Vehcle" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="VehicleRagNo" HeaderText="Ранго автомобиля" функция htmlencode="истинной" /&ГТ;
<asp:BoundField DataField=" ManufacturingDate "DataFormatString=" {0:dd' / 'MM'/ ' yyyy}"
HeaderText=" дата изготовления "HtmlEncode= "true" />
<asp:BoundField DataField=" PollutionValidDate "DataFormatString=" {0:dd' / 'MM'/ ' yyyy}"
HeaderText=" дата загрязнения "HtmlEncode= "true" />
<asp:BoundField DataField=" PermitDate "DataFormatString=" {0:dd'/ 'MM' / 'yyyy}" HeaderText= " дата разрешения"
HtmlEncode= "true" />
<asp:BoundField DataField= "InsuranceDate" DataFormatString= "{0:dd'/ 'MM' / 'yyyy}" HeaderText= " страховая дата"
HtmlEncode= "true" />
<asp:BoundField DataField=" Fitnessdate "DataFormatString=" {0:dd'/ 'MM' / 'yyyy}" HeaderText= " Fitness date"
HtmlEncode= "true" />
&ЛТ;как ASP:BoundField datafield в="SeatingCapacity" HeaderText="емкость" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="VehicleFuelType" HeaderText="тип топлива" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="AssociatedCharges" HeaderText="обвинения" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="TaxPaid" HeaderText="TaxPaid" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="ACNonAC" HeaderText="ACNonAC" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="PoliceVerification" HeaderText="полицейские проверки" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="Имя_драйвера" HeaderText="имя водителя" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="DriverFatherName" HeaderText="имя Отца" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="DLIssuingAuthority" HeaderText="дл орган" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="DLDetails" HeaderText="DLDetails" функция htmlencode="истинной" /&ГТ;
<asp:BoundField DataField= "DLValidFrom" DataFormatString= "{0:dd'/ 'MM' / 'yyyy}" HeaderText= " DLValidFrom"
HtmlEncode= "true" />
<asp:BoundField DataField= "DLValidTill" DataFormatString= "{0:dd'/ 'MM' / 'yyyy}" HeaderText= " DLValidTill"
HtmlEncode= "true" />
<asp:BoundField DataField= "DriverEmploymentDuration" DataFormatString= "{0:dd' / 'MM'/ ' yyyy}"
HeaderText=" Дата трудоустройства "HtmlEncode= "true" />
&ЛТ;как ASP:BoundField datafield в="MobileNo" HeaderText="мобильная не" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="PermanentAddress" HeaderText="адрес водителя" функция htmlencode="истинной" /&ГТ;
<asp:BoundField DataField=" GpsStatus "HeaderText=" Gps Status "HtmlEncode= "true" />
&ЛТ;как ASP:BoundField datafield в="AlcoholAnalyze" HeaderText="спирт анализа" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="FireExtinguisher" HeaderText="огнетушитель" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="TyreCondition" HeaderText="состояние шин" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="Стефания" HeaderText="Стефания" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="ремень безопасности" HeaderText="ремня" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="обивка сиденья" HeaderText="чехлы на сиденья" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="комментарии" HeaderText="Примечания" функция htmlencode="истинной" /&ГТ;
&ЛТ;как ASP:BoundField datafield в="волчьим билетом" HeaderText="статус" функция htmlencode="истинной" /&ГТ;

< asp:Label ID=" lblresult "runat= "server" />
&ЛТ;АСП:кнопка ID="btnShowPopup" атрибут runat="сервер" стиль="дисплей: нет" /&ГТ;
<asp: ModalPopupExtender ID= "ModalPopupExtender1" runat=" server "TargetControlID=" btnShowPopup"
PopupControlID= "pnlpopup" CancelControlID=" btnCancel "BackgroundCssClass= "modalBackground">

&ЛТ;АСП:группа идентификатор="pnlpopup" полосы прокрутки="как" атрибут runat="сервер" фона="белый" высота="400 пикселей"
Width=" 500px "Style=" display: none " >

cellpadding= " 0 "cellspacing= "0">
align= "center" >
Сведения О Пользователе
идентификатор пользователя:
&ЛТ;АСП:метка идентификатор="lblID" атрибут runat="сервер"и GT;
Местоположение:
&ЛТ;АСП:метка идентификатор="lblLocation" атрибут runat="сервер"и GT;
Наименование Поставщика:
&ЛТ;АСП:метка идентификатор="txtVendorName" атрибут runat="сервер"и GT;
Название Транспортного Средства:
&ЛТ;АСП:метка идентификатор="txtVehicleName" атрибут runat="сервер"и GT;
Рег Транспортного Средства Нет:
&ЛТ;АСП:метка идентификатор="txtVehicleRegNo" атрибут runat="сервер"и GT;
Дата Изготовления:
<asp:TextBox ID= "TextBoxMD" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender1 " TargetControlID=" TextBoxMD "Format=" dd/MM/yyyy"
runat= "сервер" >

Дата Загрязнения:
<asp:TextBox ID= "TextBoxPD" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender2 " TargetControlID=" TextBoxPD "Format=" dd/MM/yyyy"
runat= "сервер" >

Дата Разрешения:
<asp:TextBox ID= "TextBoxPERD" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender3 " TargetControlID=" TextBoxPERD "Format=" dd/MM/yyyy"
runat= "сервер" >

Дата Страхования:
<asp:TextBox ID= "TextBoxID" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender4 " TargetControlID=" TextBoxID "Format=" dd/MM/yyyy"
runat= "сервер" >

Фитнес дата:
<asp:TextBox ID= "TextBoxFD" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender5 " TargetControlID=" TextBoxFD "Format=" dd/MM/yyyy"
runat= "сервер" >

Полицейская Проверка:
&ЛТ;%--&ЛТ;АСП:текстовое поле с ID="TextBox6" атрибут runat="сервер" /&ГТ;--%&ГТ;
&ЛТ;как ASP:dropdownlist с ИД="TextBoxPV" autopostback элемента управления="истинный" атрибут runat="сервер"и GT;

имя драйвера:
<asp:TextBox ID= "TextBoxDN" runat= "server" />
Имя Отца:
<asp:TextBox ID= "TextBoxFN" runat= "server" />
Дл орган:
<asp:TextBox ID= "TextBoxDA" runat= "server" />
DLDetails:
<asp:TextBox ID= "TextBoxDD" runat= "server" />
DL действителен с:
<asp:TextBox ID= "TextBoxDVF" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender6 " TargetControlID=" TextBoxDVF "Format=" dd/MM/yyyy"
runat= "сервер" >

DL действителен до:
<asp:TextBox ID= "TextBoxDVT" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender7 " TargetControlID=" TextBoxDVT "Format=" dd/MM/yyyy"
runat= "сервер" >

Дата Приема На Работу:
<asp:TextBox ID= "TextBoxED" runat= "server" />
<ajax:CalendarExtender ID=" CalendarExtender8 " TargetControlID=" TextBoxED "Format=" dd/MM/yyyy"
runat= "сервер" >

Мобильный Нет:
<asp:TextBox ID= "TextBoxMN" runat= "server" />
Адрес Водителя:
<asp:TextBox ID= "TextBoxRA" runat= "server" />
Замечания:
<asp:TextBox ID= "TextBoxR" runat= "server" />
Статус:
&ЛТ;как ASP:dropdownlist с ИД="TextBoxS" autopostback элемента управления="истинный" атрибут runat="сервер"и GT;

&ЛТ;АСП:кнопка ID="btnUpdate" Имя_команды="обновить" атрибут runat="сервер" текст="обновить" функция onclick="btnUpdate_Click" /&ГТ;
&ЛТ;АСП:кнопка ID="btnCancel" атрибут runat="сервер" текст="отмена" /&ГТ;


&ЛТ;/форма&ГТ; &ЛТ;/тело&ГТ; &ЛТ;/HTML и ГТ;

2 Ответов

Рейтинг:
2

Member 12586784

проблема решена с помощью

updDate.UpdateBlackList(
        lblID.Text,
        DateTime.ParseExact(TextBoxMD.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxPD.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxPERD.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxID.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxFD.Text, "dd/MM/yyyy", null),
        TextBoxPV.SelectedItem.Text,
        TextBoxDN.Text,
        TextBoxFN.Text,
        TextBoxDA.Text,
        TextBoxDD.Text,
        DateTime.ParseExact(TextBoxDVF.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxDVT.Text, "dd/MM/yyyy", null),
        DateTime.ParseExact(TextBoxED.Text, "dd/MM/yyyy", null),
        TextBoxMN.Text,
        TextBoxRA.Text,
        TextBoxR.Text,
        TextBoxS.SelectedItem.Text,
        System.Environment.UserName,
        DateTime.Now


Рейтинг:
1

OriginalGriff

Сообщение об ошибке довольно явное:

string was not recognized as a valid datetime.
В основном, ваш пользовательский ввод в одном из этих текстовых полей:
TextBoxMD.Text
TextBoxPD.Text
TextBoxPERD.Text
TextBoxID.Text
TextBoxFD.Text
TextBoxDVF.Text
TextBoxDVT.Text
TextBoxED.Text
Не распознается как действительная дата для системы, на которой вы выполняете код, - сервер.
Скорее всего, это связано с тем, что пользователь ошибся или использует другую культуру, чем ваш сервер.

Не используйте Convert.ToDateTime: используйте DateTime.Попробуйте проанализировать и сообщить о проблемах пользователю вместо того, чтобы слепо полагать, что он всегда будет делать все правильно. И используйте настройки клиентской культуры вместо настроек сервера по умолчанию.

Или лучше не используйте текстовые поля для значений дат: вместо этого используйте календари, чтобы пользователь не мог ошибиться, и вы получаете значение DateTime напрямую, а не преобразовываете его вообще.


Member 12586784

здесь я пытаюсь обновить свои данные. Текстовое поле здесь показывает предыдущие данные.

OriginalGriff

Это не означает, что это тот же самый формат, который ожидает серверная система: вам нужно проверить его и сообщить о любых проблемах, а не действовать вслепую, как будто он всегда будет правильным. Но это явно не так, иначе вы не получили бы ошибку...

Member 12586784

вопрос решен. Спасибо

использование DateTime.Метод parseexact

OriginalGriff

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