点击服务器按钮里代码如下:我想点击另一个按钮保存checkbox选中值
DataTable dt = CMP.getCPDlfl(this.DropDownList1.SelectedValue);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            CheckBox ck = new CheckBox();
            ck.ID = dt.Rows[i]["xf_flbh"].ToString();
            ck.Text = dt.Rows[i]["xf_flmc"].ToString() ;           
             this.rou.Controls.Add(ck);
        }

解决方案 »

  1.   

    用Request.Form["复选框的name属性值"]获取name属性值可以查看运行后的浏览器中的html代码。
      

  2.   

    你好,报错未将对象引用设置到对象的实例。
    选中这个自动生成的checkbox,点击另一个按钮就是取不到选中的值,而且checkbox也不见了,谢谢了,有没有好的方法取到它的值
      

  3.   

    自动生成的服务器端控件在点击Button做PostBack提交时会丢失,你必须把之前生成这些控件的过程重新执行一遍才能取到值
    这样比较复杂而且页面性能很差(如果用ViewStates保存的话),所以建议不要这样做,生成时可以用脚本绘制Html的checkbox,取值是用js拿到后传给后台,不要做PostBack提交
      

  4.   

    你可以试着用一下CheckBoxList列表,你可以创建一个CheckBoxlist对象,然后循环给列表里面加值这样好像方便一些哟
      

  5.   

    你用Jquery 来获取你所以复选框选中的只值,将这些值用"|"隔开,形成一个字符串   然后将这个字符串 赋给一个 隐藏域   在你 点击服务器按钮的时候 直接 获取这个隐藏域的值 不就行了嘛
    如:
        <input id='iptCheck_<%#Eval("MainID") %>' type="checkbox" name='ckitem' value='<%#Eval("PublicName") %>'/>$("input[type=checkbox][name=ckitem]").each(function () {
      if($(this).attr("checked")==true){
       var id=$(this).attr("id").split('_')[1];//这个是ID;
       var values=$(this).val();//这个是Value值
      //接下来你把ID和values 组成字符串 赋给 你的那个隐藏域 就行   再在后台获取隐藏域的值
    }
    });