2011-12-30 17 views
0

我在彈出如下的複選框列表。 我該如何撥打SelectedIndexChanged佔位符包含的checkboxlist事件。如何調用佔位符中包含的複選框列表的selectedIndexChange

代碼:

public void loadTracks() 
{ 
    try 
    { 
     ConfigurationDB objConfig = new ConfigurationDB(); 
     DataSet ds = objConfig.GetTracks(Convert.ToInt32(
           ddl.SelectedValue.ToString())); 
     CheckBoxList CbxList = new CheckBoxList(); 
     // CheckBoxList CbxListtemp = new CheckBoxList(); 
     CbxList.ID = "Chk"; 
     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 
      CbxList.Items.Add(new ListItem(ds.Tables[0].Rows[i]["Name"] 
         .ToString(), ds.Tables[0].Rows[i]["ID"].ToString())); 
      //CbxListtemp.Items.Add(
       // new ListItem(ds.Tables[0].Rows[i]["Track_Name"].ToString() 
       //, ds.Tables[0].Rows[i]["ID"].ToString())); 
     } 
     // CbxList = CbxListtemp; 
     ph.Controls.Add(CbxList); 
    } 
    catch(Exception ex) 
    { 
     throw ex 
    } 
} 

回答

1

您需要訂閱的事件處理程序如下所示(如果那是你的意思):

 public void loadTracks() 
     { 
      try 
      { 
       ConfigurationDB objConfig = new ConfigurationDB(); 
       DataSet ds = objConfig.GetTracks(Convert.ToInt32(ddl.SelectedValue.ToString())); 
       CheckBoxList CbxList = new CheckBoxList(); 
       CbxList.SelectedIndexChanged += new EventHandler(CbxList_SelectedIndexChanged); 
       // CheckBoxList CbxListtemp = new CheckBoxList(); 
       CbxList.ID = "Chk"; 
       for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
       { 
        CbxList.Items.Add(new ListItem(ds.Tables[0].Rows[i]["Name"].ToString(), ds.Tables[0].Rows[i]["ID"].ToString())); 
        //CbxListtemp.Items.Add(new ListItem(ds.Tables[0].Rows[i]["Track_Name"].ToString(), ds.Tables[0].Rows[i]["ID"].ToString())); 
       } 
       // CbxList = CbxListtemp; 
       ph.Controls.Add(CbxList); 
      } 
      catch(Exception ex) 
      { 
       throw ex; 
      } 
     } 

     void CbxList_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      throw new NotImplementedException(); 
     }