我无法访问从后面的代码创建的表格单元格内的文本框的内容。在我的小程序中,表格预先填充了学生的姓名(单元格 A1)。一个文本框被添加到它下面的单元格(单元格 A2)。用户在文本框中输入 Pass 或 Fail 并单击提交。此时应显示一条消息,“学生状态已更改为(无论用户输入的内容)”。这就是问题所在——因为文本框 ID (student1) 是在后面的代码中分配的,所以文本框 ID 尚不存在于上下文中。
//Code Behind
protected void Page_Load(object sender, EventArgs e)
{
Label nameStudent = new Label()
{
Text = "Annie McDonald"
};
TableCell nameCell = new TableCell();
nameCell.Controls.Add(nameStudent);
NameRow.Cells.Add(nameCell);
TextBox status = new TextBox()
{
ID = "student1",
Text = "Pass or Fail"
};
TableCell statusCell = new TableCell();
statusCell.Controls.Add(status);
StatusRow.Cells.Add(statusCell);
}
protected void sumbitChange_Click(object sender, EventArgs e)
{
Confirm.InnerText = "The students status was changed to " + student1.Text;
}
<body>
<form id="form1" runat="server">
<asp:Table ID="StudentRoster" runat="server">
<asp:TableRow ID="NameRow" runat="server" />
<asp:TableRow ID="StatusRow" runat="server" />
</asp:Table>
<asp:Button ID="sumbitChange" text="Submit" runat="server" OnClick="sumbitChange_Click"/>
<p id="Confirm" runat="server"></p>
</form>
</body>