1.我在网页中放一个Label Control:
<asp:Label ID="lbProductList" runat="server"/>
2.根据数据库中的数据动态添加checkbox组件(用来修改数据库中对应值的状态);
如:
DataRow dr;         //已经有值
int intCounter=2;   //计数器,假设为2
string strTemp1="<td><div align='center'><input runat='server' type='checkbox'";
if(dr[4].ToString()=="True")
{
     lbProductList.Text+=strTemp1+" ID='cbFind"+intCounter+"' checked value='"
          +dr[0]+"'></DIV></td>";
}
else
{
     lbProductList.Text+=strTemp1+" ID='cbFind"+intCounter+"' value='1'></DIV></td>";
}
3.响应按钮的OnCommand事件,接受数据
Response.Write("cbFind2:"+Request.Form["cbFind2"]);
------------------------------------------------------------
问题:接受不到checkbox的值????
-------------------------------------------------------------
简单的说就是把form组件checkbox放到Label控件中输出,在提交表单的时候接收不到值??
为什么?
有什么好的解决方法?
谢谢!

解决方案 »

  1.   

    就是通过Label控件的Text属性输出
      

  2.   

    直接利用Response.write写出来不行啊,建议用control.add动态添加控件,这样就能接收到了
      

  3.   

    用了runat=server
    直接用Response.Write()写出来也接收不到
    利用PlaceHolder,位置控制不了,因为我要循环输出一张表格,在表格中间添加复选框
      

  4.   

    请参考http://www.cnblogs.com/loviy/archive/2004/05/15/9622.html
    估计在点击按钮时,form_load会从新加载,所以你选择的内容和没有选一样。
      

  5.   

    我使用IsPostBack做了判断,内容没有重新加载,
    直接在表单中放一个CheckBox控件,提交的值可以收到,
    而使用Response.Write()输出和用Label.Text输出的CheckBox控件就是接收不到值!
      

  6.   

    我以前用过的代码,应该跟你的问题相似,我就不多说了,我贴了关键代码,你自己看:
    在表格中动态生成TextBox
    TableRow r = new TableRow();
    TableCell c=new TableCell();
    string t="<p>"+i.ToString()+".   ";
    t+="<INPUT type='text' style='WIDTH: 96px' name='textbox" +j.ToString()+ i.ToString();
    t+= "' id='textbox"+j.ToString()+i.ToString() +"'>";
    t+="</p>"+"<br>";
    c.Text=t;
    生成后获得:
    string s=Request.Form["textbox"+j.ToString()+i.ToString()].ToString().Trim();leonbingo所说动态创建也可以,但我当时的情况用这种方法简单一点。
    创建的控件中有没有值可以查看浏览器中的源代码,看有没有值,如果没有那就是动态生成的控件没找到
      

  7.   

    终于搞定了,我用PlaceHolder来添加Label控件和CheckBox控件,
    Label控件用于控制格式,谢谢各位!