【发布时间】:2011-06-02 23:14:33
【问题描述】:
我正在用 asp.net 构建一个页面。我有一个包含文本框和提交按钮的表格的表格。提交表单时,我想获取输入到 TextBoxes 中的所有文本并对其进行操作。为此,我有以下方法:
protected void Button1_Click(object sender, EventArgs e)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (Control c in this.Controls)
{
if (c.GetType().Name == "TextBox")
{
TextBox tb = (TextBox)c;
sb.AppendLine(tb.Text);
}
}
Label1.Text = sb.ToString();
}
问题在于控件显然不包含我的任何文本框。当我遍历控件并打印出它们的名称时,我得到的唯一一个是“site_master”。 (我也尝试过 Controls 和 Page.Controls 而不是 this.Controls)。
我的迭代器有问题吗?是否有另一种方法可以遍历表格或页面中的所有文本框?实现这一目标的最佳方法是什么?
【问题讨论】:
-
试试
this.Form.Controls。您的文本框基本上嵌套在另一个容器中,您需要查询该容器的控件。