1

我正在尝试通过 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/>"));
    }

任何帮助是极大的赞赏。

干杯,贾夫

4

2 回答 2

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)。

于 2010-09-02T01:49:59.510 回答
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/>"));
    }
于 2010-09-02T01:53:41.340 回答