2013-05-10 165 views
0

你好在我的程序中我需要動態創建checkboxlist項目 - 從數據庫中獲得。在哪裏檢查動態創建的複選框的狀態

的問題是點擊一個按鈕時,我應該得到的文本從CN只有選中的複選框,我應該將用戶重定向到另一個頁面

而且我有困難確定控件的寬度checkedore

  1. 如果我檢查,他們被添加

    後立即所以,如果我寫

如果(mycheckbox.Items [S] .Selected == TRUE)

此行

Page.FindControl("form1").Controls.Add(mycheckbox); 

他們不檢查還是那麼這將是始終爲false)

  1. 關於回發事件(點擊按鈕) - 我們知道回發事件動態控件不再存在)

這裏是我的代碼

protected void ddlNumberTourists_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    int numTourists = Convert.ToInt32(ddlNumberTourists.SelectedItem.Text); 
    for (int i = 0; i < numTourists; i++) 
    { 
    string connectionString = "Server=localhost\\SQLEXPRESS;Database=excursion;Trusted_Connection=true"; 
     string query = 
    "SELECT Extra_Charge_ID, Excursion_ID, Amout, Extra_Charge_Description FROM EXTRA_CHARGES WHERE Excursion_ID=" + mynewstring; 
     SqlConnection conn = new SqlConnection(connectionString); 
     SqlCommand cmd = new SqlCommand(query, conn); 

     try 
     { 
      conn.Open(); 
      SqlDataReader rd = cmd.ExecuteReader(); 
      int s = 0; 
      while (rd.Read()) 
      { 
       mycheckbox.ID = "chkblextracharge" + i.ToString() + s.ToString(); 
       mycheckbox.Items.Add(rd["Extra_Charge_Description"].ToString()); 
       Page.FindControl("form1").Controls.Add(mycheckbox); 
       s++; 
      } 


     }//End of try 

     catch (Exception ex) 
     { } 


    }//end of for 

回答

0

我實現了使用jQuery在我的網上問答引擎(演示:http://webinfocentral.com):客戶端檢查從代碼片段提取如下:

var _rows = $(this).find('tr'); 

for (i = 0; i < _rows.length; i++) { 

    // find out if checkbox is checked 
    _checked = $(_rows[i]).find('input:checkbox').is(':checked'); 
} 
0
 conn.Open(); 
     SqlDataReader rd = cmd.ExecuteReader(); 
     int s = 0; 
     mycheckboxList = new CheckBoxList(); 
     mycheckboxList.ID = "chkblextracharge" + i.ToString(); 
     while (rd.Read()) 
     { 
      ListItem LI = new ListItem(rd["Extra_Charge_Description"].ToString(), s.ToString()); 
      LI.Selected = rd["Selected_Criteria"] == "TRUE"; 
      mycheckboxList.Items.Add(LI); 

      s++; 
     } 
     Page.FindControl("form1").Controls.Add(mycheckboxList); 
+0

我不能LI.Selected = rd [「Selected_Criteria」] == TRUE「我沒有在我的datareader中的selected_criteria。並且實際上你測試了這個動態添加的複選框是否被選中!我想在會話中存儲他們的文本,所以我可以以另一種形式使用它 – 2013-05-10 13:52:34