循环GridView控件判断模版里面的复选框是否选中,不用JS脚本GridView

解决方案 »

  1.   

    for(int i = 0; i < GridView.Items.Count; i++) 
    CheckBox cb = (CheckBox)GridView.Items[i].FindControl("checkboxid");
    if(cb.Checked){ dosomething....}
    js的要比这个的好.这个效率不高.
      

  2.   

      我这样写啦CD取到的值全是null  JS做的话怎么把循环结果,也就是那些行选中的结果传到  .cs 里面呢?
      

  3.   

     <script language="javascript" type="text/javascript">
        //先获取所有的Checkbox
        var chkList = document.getElementsByName("CheckBox1");
    window.onload = function()
    {
    //为所有checkbox添加onclick事件处理,以自动更新“已选择的项”
    for(var i=0; i<chkList.length; i++)
    {
    chkList[i].onclick = chkClick;
    }
    }
    //checkbox的onclick事件,用于更新“已选择的项”
    function chkClick(){
    var checkedList = "";
    //获取所有被选中的项
    for(var i=0; i<chkList.length; i++){
    if(chkList[i].checked)
    checkedList += chkList[i].value + ",";
    }
    //把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号
    document.getElementById("HiddenField1").value = checkedList.substring(0,checkedList.length-1);
    }
      

  4.   

    CheckBox 用html的,然后name="cid" value="<%# Eval("id"%>"
    最后Request.Form["id"]如果选择了1,2,4那么就会得到1,2,4对应的ID