【发布时间】:2014-10-27 04:20:40
【问题描述】:
在我的标记 (Default.aspx) 中,我有一个简单的表格:
<asp:Table id="myAspTable" runat="server" />
我的代码在后面 (Default.aspx.cs),我有一个整数 (n),它可以是 1 到 100 之间的任何值:
int n = getValueOfN();
基于这个数字,我可以动态创建复选框和文本框并将它们添加到我的页面:
CheckBox[] checks = new CheckBox[n];
TextBox[] texts = new TextBox[n];
for (int i=0; i<n; i++)
{
checks[i] = new CheckBox();
texts[i] = new TextBox();
tblrow = new TableRow();
tblcell = new TableCell();
tblcell.Controls.Add(checks[i]);
tblcell.Controls.Add(texts[i]);
tblrow.Controls.Add(tblcell);
myAspTable.Controls.Add(tblrow);
}
我现在要添加以下功能:每个复选框我必须在检查/取消选中时启用或禁用TextBox I。如何在代码隐藏中做到 100%?
这是我尝试过的:
checks[i].AutoPostBack = true;
checks[i].CheckedChanged += new EventHandler(this.CheckToggleEnable);
public void CheckToggleEnable(object sender, EventArgs e)
{
// Implementation here
}
但这不起作用,因为我无法在 CheckToggleEnable 函数中引用 Textbox i。另外,我希望在没有回发的情况下这样做。
【问题讨论】:
-
请不要只求我们为您解决问题。向我们展示您如何尝试自己解决问题,然后向我们确切地展示结果是什么,并告诉我们您为什么觉得它不起作用。请参阅“What Have You Tried?”了解您真正需要阅读的优秀文章。
标签: c# asp.net checkbox textbox code-behind