0

J'ai créé le checkbox dynamiquement en C# avec <asp:ContentPlaceHolder>. Je veux que cela soit ordonné en vertical et qu'une seule case soit vérifiée à la fois dans le code derrière. Toute solution?case à cocher créée dynamiquement en C# utilisant asp.net show verticalement

code:

DataTable table = new DataTable(); 

table.Columns.Add("Betoption", typeof(string)); 
table.Columns.Add("id", typeof(string)); 
table.Rows.Add("Main", "1"); 
table.Rows.Add("Corner", "2"); 
table.Rows.Add("Card & Foul", "3"); 
table.Rows.Add("Under/Over", "4"); 
table.Rows.Add("Dilantin", "5"); 
table.Rows.Add("Home/Away", "6"); 
table.Rows.Add("First Half", "7"); 

DataRow[] exemption = table.Select(); 

foreach (DataRow dr in exemption) 
{ 
    string option = dr["Betoption"].ToString(); 
    string optionID = dr["id"].ToString(); 


    var chk = new CheckBox { ID = optionID, Text = option, CssClass = "name", AutoPostBack = true }; 

    PlaceHolder1.Controls.Add(chk); 

} 

Répondre

2

Au lieu de Checkbox vous pouvez utiliser CheckBoxList et valeur définie de RepeatDirection propriété comme indiqué ci-dessous:

var checkList = new CheckBoxList(); 
checkList.AutoPostBack = true; 
checkList.CssClass = "name"; 
checkList.RepeatDirection = RepeatDirection.Vertical; 

foreach (DataRow dr in exemption) 
{ 
    string option = dr["Betoption"].ToString(); 
    string optionID = dr["id"].ToString(); 

    checkList.Items.Add(new ListItem() 
    { 
     Text = option, 
     Value = optionID 
    }); 

} 

PlaceHolder1.Controls.Add(checkList); 

Et si vous voulez un seul élément à vérifier à la fois , Je suggère d'utiliser RadioButtonList au lieu de la liste Checkbox.

Dans le code ci-dessus, il suffit de remplacer CheckBoxList() avec RadioButtonList()

+0

Pas un ans CORRET, tous case sera vérifié, et non l'alignement vertical –

+0

@AamecAamec: Lorsque vous définissez 'RepeatDirection.Vertical' il affichera toutes les cases verticalement. Si vous voulez le rendre horizontalement vous pouvez le changer en 'checkList.RepeatDirection = RepeatDirection.Horizontal;' – SpiderCode

+0

ya correct mais je veux seulement une case à cocher pour permettre de vérifier –