无法从文本框中获取数据

时间:2012-05-09 10:01:43

标签: c# asp.net

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

3 个答案:

答案 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";