Как динамически назначать настраиваемые соглашения о тексте и именах динамически генерируемым ярлыкам / флажкам? - PullRequest
1 голос
/ 02 сентября 2010

Я пытаюсь дать имена моим динамически генерируемым флажкам через цикл 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

Ответы [ 2 ]

0 голосов
/ 02 сентября 2010

Вы можете использовать индекс для выписки:

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/>"));
    }
0 голосов
/ 02 сентября 2010

Вы должны присвоить имя, используя свойство 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 может быть одинаковым в каждом элементе управления.У вас не может быть одинаковых имен (идентификаторов) для элементов управления.

...