我正在尝试从文本框中获取数据,但它显示未定义的ID或类似的内容。这是我的代码。我不明白问题是什么。 Text1,Text2和Text3是我的文本框ID。
SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);
DataSet thisDataSet = new DataSet();
thisAdapter.Fill(thisDataSet, "Odunc");
DataRow thisRow = thisDataSet.Tables["Odunc"].NewRow();
thisRow["Book_Name"] = "" + Text1.Text;
thisRow["Reader_Name"] = "" + Text2.Text;
thisRow["Expiration_Date"] = "" + Text3.Text;
thisDataSet.Tables["Odunc"].Rows.Add(thisRow);
thisAdapter.Update(thisDataSet, "Odunc");
asp part
<table style="width:100%;">
<tr>
<td class="style1">
Name of Reader</td>
<td>
<input id="Text1" name="Text1" type="text" /></td>
<td>
</td>
</tr>
<tr>
<td class="style1">
Name of Book</td>
<td>
<input id="Text2" name="Text2" type="text" /></td>
<td>
</td>
</tr>
<tr>
<td class="style1">
Expiration Date</td>
<td>
<input id="Text3" name="Text3" type="text" /></td>
<td>
</td>
</tr>
</table>
答案 0 :(得分:3)
您需要将runat="server"
添加到要使用服务器代码访问的输入元素。
示例
<%-- markup --%>
<input runat="server" id="Text1" name="Text1" type="text" />
// server code
string value = this.Text1.Value; // not ".Text"
或者,您可以使用服务器控件asp:Textbox
。
答案 1 :(得分:0)
使TextBox成为服务器端控件。
答案 2 :(得分:0)
为什么不使用asp控件?
<asp:TextBox ID="txtExample" runat="server" />
在您的代码隐藏中,您可以访问它并使用以下命令设置文本:
txtExample.Text = "Test";