Не могу получить значение текстового поля только для чтения в asp.net
У меня есть asp, чистое текстовое поле, как это
<asp:TextBox readonly="true" ID="txtLastService" runat="server"></asp:TextBox>
когда я пытался получить его значение для переменной даты LastService в коде позади, я получаю эту ошибку
Преобразование из строки "" в тип "Date" недопустимо.
Сведения об исключении: System.InvalidCastException: преобразование из строки "" в тип "Дата" недопустимо. Ошибка источника: строка 26: oItem.LastService = txtLastService.Text Исходный файл: .\ Admin\vehicle\add.aspx.vb Строка: 26
Я использовал этот же код на других страницах, и он отлично работает, за исключением этой страницы любой помощи
Редактировать
Обратите внимание, что значение текстового поля не пусто, когда я нажимаю кнопку отправить в форме. А также, когда я удаляю атрибуты только для чтения, я не получаю ошибку. Но мне нужно, чтобы это текстовое поле было доступно только для чтения, так как я использую JavaScript для выбора даты и установки ее значения
4 ответа
Вместо Readonly="true"
попробуйте использовать Enabled="false"
Ошибка кажется мне очень очевидной. Строка "", и вы пытаетесь преобразовать ее в дату. Так как, черт возьми, пустая строка может быть преобразована в дату? Какая дата это будет?
Почему бы не использовать HiddenField
вместо?
<asp:hiddenfield id="txtLastService" runat="server"/>
Попробуйте использовать Request.Form[txtLastService.UniqueID], если C# и Request.Form(txtLastService.UniqueID), если vb.net