#c# #asp.net #data-binding #formview
#c# #asp.net #привязка данных #formview
Вопрос:
У меня есть всплывающее средство выбора даты, которое вставляет выбранную дату в текстовое поле. Моя проблема в том, что я не могу привязать его к asp.net элемент управления текстовым полем. В настоящее время я следую этому, но он показывает ошибку «Имя ‘dateborrowedTextBox’ не существует в текущем контексте». Я хочу, чтобы оно привязывало выбранное значение к текстовому полю в formview, чтобы я мог добавить его в базу данных.
Вот пример моей вставки элемента управления formview
<InsertItemTemplate>
Book Title:
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="booktitleDataSource" DataTextField="booktitle"
DataValueField="bookid" SelectedValue='<%# Bind("bookid", "{0}") %>'>
</asp:DropDownList>
<asp:SqlDataSource ID="booktitleDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>"
SelectCommand="SELECT [bookid], [booktitle] FROM [TblBooks]">
</asp:SqlDataSource>
<br />
Employee PIN:
<asp:TextBox ID="employeeidTextBox" runat="server"
Text='<%# Bind("employeeid") %>' />
<br />
Department:
<asp:TextBox ID="departmentTextBox" runat="server"
Text='<%# Bind("department") %>' />
<br />
<%--I want to the selected value in datepicker to bind it here --%>
Date borrowed:
<asp:TextBox ID="dateborrowedTextBox1" runat="server"
Text='<%# Bind("dateborrowed") %>' />
<%--date picker --%>
<input type="text" name="dateborrowedTextBox" readonly id="dateborrowedTextBox">
<a href="#" onClick="cdp1.showCalendar(this, '<% = dateborrowedTextBox.ClientID %>'); return false;">Date Picker</a>
<br />
<asp:Button ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" />
<asp:Button ID="InsertCancelButton" runat="server" CausesValidation="False"
CommandName="Cancel" Text="Cancel" />
</InsertItemTemplate>
Помощь была бы высоко оценена.
Заранее спасибо.
Ответ №1:
Сделайте свой элемент управления вводом серверным элементом управления, добавив runat="server"
к элементу управления, а затем используйте value property
.
<input type="text" runat="server" value='<%# Bind("dateborrowed") %>' name="dateborrowedTextBox" readonly id="dateborrowedTextBox">
Комментарии:
1. Спасибо! Это сработало, но в нем все еще есть ошибка. Ошибка: ‘this._targetEl.value. длина’ равна нулю или не является объектом
2. Я думаю, что это какая-то другая ошибка, отличная от приведенного выше решения. Эта проблема возникает у вас после внедрения моего решения?
3. Да. Нет проблем, когда я не связываю их вместе. Я думаю, что с моей стороны произошла какая-то ошибка. Я проверю
4. Кстати, могу ли я спросить, есть ли способ, которым я мог бы получить значение вместо этого? Я имею в виду, что в типе ввода = text как я могу получить значение и передать его в asp: TextBox.
5. ((System.Web.UI.HtmlControls. htmlputtext)detailsView1.FindControl(«dateborrowedTextBox»)).Значение