1

我正在尝试从文本框中获取数据,但它显示未定义的 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部分

   <table style="width:100%;">
    <tr>
        <td class="style1">
            Name of Reader</td>
        <td>
    <input id="Text1" name="Text1" type="text" /></td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td class="style1">
            Name of Book</td>
        <td>
    <input id="Text2"  name="Text2" type="text" /></td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td class="style1">
            Expiration Date</td>
        <td>
    <input id="Text3"  name="Text3" type="text" /></td>
        <td>
            &nbsp;</td>
    </tr>
</table>
4

3 回答 3

3

您需要添加runat="server"要使用服务器代码访问的输入元素。

例子

<%-- markup --%>
<input runat="server" id="Text1" name="Text1" type="text" />

// server code
string value = this.Text1.Value; // not ".Text"

或者,您可以使用服务器控件asp:Textbox

于 2012-05-09T10:02:54.033 回答
0

使 TextBox 成为服务器端控件。

于 2012-05-09T10:05:53.817 回答
0

为什么不使用 asp 控件?

<asp:TextBox ID="txtExample" runat="server" />

在您的代码隐藏中,您可以访问它并设置文本:

txtExample.Text = "Test";
于 2012-05-09T10:06:47.560 回答