2013-05-10 115 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