コード
public partial class Table_Traversing : System.Web.UI.Page
{
Table table1 = new Table();
Button button1 = new Button();
protected void Page_Load(object sender, EventArgs e)
{
for (int adding_rows = 0; adding_rows < 4; adding_rows++)
{
TableRow table_row1 = new TableRow();
TableCell table_cell1 = new TableCell();
TableCell table_cell2 = new TableCell();
Label The_text = new Label();
CheckBox checkmate = new CheckBox();
The_text.Text = "This is the text :-)";
checkmate.ID = "checkmate";
table_cell2.Controls.Add(checkmate);
table_cell1.Controls.Add(The_text);
table_row1.Controls.AddAt(0, table_cell1);
table_row1.Controls.AddAt(1, table_cell2);
table1.Rows.Add(table_row1);
}
button1.Text = "click me to export the value";
form1.Controls.AddAt(0, table1);
form1.Controls.AddAt(1, button1);
button1.Click += new EventHandler(button1_Click);
}
void button1_Click(object sender, EventArgs e)
{
CheckBox check_or_not = new CheckBox();
for (int i = 0; i < table1.Rows.Count; i++)
{
check_or_not = (CheckBox)table1.Rows[i].FindControl("checkmate");
Response.Write(check_or_not.Checked.ToString());
}
}
}
エラー
同じID「チェックメイト」を持つ複数のコントロールが見つかりました。FindControlでは、コントロールに一意のIDが必要です。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとそれがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.Web.HttpException:同じID「checkmate」を持つ複数のコントロールが見つかりました。FindControlでは、コントロールに一意のIDが必要です。