2011-08-23 64 views
1

我正在創建一個應用程序,我需要添加動態複選框列表。請任何人告訴我如何使用C#添加動態複選框列表。如何在asp.net中創建動態複選框

+1

你有什麼試過,你卡在哪裏? WinForms應用程序,WPF或ASP.NET? – Matten

+0

當你的意思是動態的,你的意思是在代碼中,還是以編程方式? – Jethro

+0

@Matten,我認爲它的ASP.NET就像標題所說的那樣。 – Jethro

回答

2

在代碼後面,您可以創建新的ASP.NET控件,並且可以將這些控件添加到您的頁面。您只需創建新的CheckBoxList對象並將其添加到ListItems即可。最後,您需要將您的CheckBoxList添加到您的Page

// Create CheckBoxList 
CheckBoxList list= new CheckBoxList(); 

// Set attributes for CheckBoxList 
list.ID = "CheckBoxList1"; 
list.AutoPostBack = true; 

// Create ListItem 
ListItem listItem = new ListItem(); 

// Set attributes for ListItem 
listItem .ID = "ListItem1"; 

// Add ListItem to CheckBoxList 
list.Items.Add(listItem); 

// Add your new control to page 
this.Form.Controls.Add(list); 
2

下面是一個例子

CheckBoxList chkList = new CheckBoxList(); 
    CheckBox chk = new CheckBox(); 
    chkList.ID = "ChkUser"; 
    chkList.AutoPostBack = true; 
    chkList.RepeatColumns = 6; 
    chkList.DataSource = us.GetUserDS(); 
    chkList.DataTextField = "User_Name"; 
    chkList.DataValueField = "User_Id";       
    chkList.DataBind(); 

    Panel pUser = new Panel(); 

    if (pUserGrp != "") 
    { 
     pUser.GroupingText = pUserGrp ; 
     chk.Text = pUserGrp;    
    } 
    else 
    { 
     pUser.GroupingText = "Non Assigned Group"; 
     chk.Text = "Non Assigned group"; 
    } 
    pUser.Controls.Add(chk); 
    pUser.Controls.Add(chkList); 
    this.Form.Controls.Add(pUser); 
4

將ID爲 「佔位符」 表單上的佔位符和下面的代碼添加到您的Page_Load()...

CheckBoxList cbList = new CheckBoxList(); 

for (int i = 0; i < 10; i++) 
    cbList.Items.Add(new ListItem("Checkbox " + i.ToString(), i.ToString())); 

placeHolder.Controls.Add(cbList); 

這將在您的CheckBoxList(cbList)中添加10個CheckBox對象。

使用下面的代碼來檢查佔位符用於將CheckBoxList的添加在運行時的形式的CheckBoxList

foreach(ListItem li in cbList.Items) 
{ 
    var value = li.Value; 
    var text = li.Text; 
    bool isChecked = li.Selected; 
} 

內每個複選框對象,使用一個佔位符將讓您更有效控制,其中在網頁CheckBoxList及其項目將出現