我正在用asp.net構建一個頁面。我有一個包含文本框和提交按鈕的表格。提交表單時,我想抓取所有輸入到文本框中的文本並對其進行操作。要做到這一點,我有以下方法:使用asp.net遍歷文本框
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'。您的文本框基本上嵌套在另一個容器中,您需要查詢該容器的控件。 – 2011-06-02 23:24:04