1

J'essaie de donner des noms à mes cases à cocher générées dynamiquement à travers un for loop un algorithme. Venir avec l'algorithme était assez simple mais je suis incapable de leur donner le nom/le texte de la case à cocher. Le meilleur que je pouvais trouver était un texte de case à cocher similaire pour tout ce qui a été généré. Y a-t-il un moyen de les nommer?Comment donner de manière dynamique des conventions personnalisées de texte/dénomination à des étiquettes/cases à cocher générées dynamiquement?

est Ci-dessous le code que je suis venu avec

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/>")); 
    } 

Toute aide est grandement appréciée.

Cheers, Jaf

Répondre

0

Vous devez attribuer le nom en utilisant la propriété ID du contrôle.

Comme ceci:

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/>")); 
} 

La propriété Text peut être égal à chaque contrôle.
Vous ne pouvez pas avoir des noms identiques (ID) pour les contrôles.

0

Vous pouvez utiliser l'index de déclaration pour:

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/>")); 
    } 
Questions connexes