0

<asp:ContentPlaceHolder>の中でcheckboxをC#で動的に作成しました。私はそれが垂直に並べられ、1つのボックスだけがコードビハインドで一度にチェックされることを望みます。どんな解決策ですか?動的にC#でasp.net showを使用してチェックボックスを作成

コード:

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

} 

答えて

2

代わりのCheckbox以下に示すように、あなたがRepeatDirection財産のCheckBoxListと設定された値を使用することができます。

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

そして、あなたは一つだけのアイテムが一度に確認したい場合チェックボックスリストの代わりにRadioButtonListを使用することをお勧めします。

上記のコードで

、ジャストRadioButtonList()

+0

ないcorret ANSとCheckBoxList()を置き換え、すべてのチェックボックスがチェックされます、そしてないに垂直配向 –

+0

@AamecAamec:あなたは 'それが縦にすべてのチェックボックスをレンダリングしますRepeatDirection.Vertical'設定した場合。 'checkList.RepeatDirection = RepeatDirection.Horizo​​ntal;' – SpiderCode

+0

あなたが正しいのですが、チェックするためにチェックボックスを1つだけにしたい場合は –

関連する問題