0

<asp:ContentPlaceHolder> 안에있는 checkbox을 C#에서 동적으로 만들었습니다. 나는 그것을 수직으로 정렬하고 한 번에 하나의 상자 만 코드 뒤에서 확인하기를 원합니다. 어떤 해결책?동적으로 C#에서 asp.net 쇼를 사용하여 확인란을 만듭니다.

코드 :

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

대신 당신이 CheckBoxList을 사용할 수 있습니다 CheckboxRepeatDirection 재산권의 설정 값 아래 그림과 같이 :

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'. checkbox.RepeatDirection = RepeatDirection.Horizontal;' – SpiderCode

+0

정확하지만 체크를 허용하는 체크 박스가 하나만 있으면 –