我试图通过for循环算法为动态生成的复选框命名。提出算法非常简单,但我无法给它们命名/复选框文本。我能想到的最好的是一个类似的复选框文本,用于生成所有内容。有没有办法命名他们?
以下是我提出的代码
int x = ((((DropDownList1.SelectedIndex+1)*(DropDownList1.SelectedIndex+1))-(DropDownList1.SelectedIndex+1))/2)-1;
Label1.Text = x+"";
for (int i = 0; i < x; i++)
{
CheckBox cb = new CheckBox();
cb.Text = "1 & 2";
PlaceHolder1.Controls.Add(cb);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
}
非常感谢任何帮助。
干杯, JAF
答案 0 :(得分:0)
您应该使用控件的ID
属性分配名称。
像这样:
for (int i = 0; i < x; i++)
{
CheckBox cb = new CheckBox();
cb.ID = "checkBox" + i;
PlaceHolder1.Controls.Add(cb);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
}
Text
属性在每个控件中都可以相等
控件的名称(ID)不能相同。
答案 1 :(得分:0)
您可以使用for语句的索引:
int x = ((((DropDownList1.SelectedIndex+1)*(DropDownList1.SelectedIndex+1))-(DropDownList1.SelectedIndex+1))/2)-1;
Label1.Text = x+"";
for (int i = 0; i < x; i++)
{
CheckBox cb = new CheckBox();
cb.Text = String.Format("PrefixName{0}" , Convert.ToString(i+1));
PlaceHolder1.Controls.Add(cb);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
}