foreach(Control ctr in this.CheckList.Controls) { if(ctr.getType().ToString()=="System.Web.UI.WebControls.CheckBox") { .... } }
你的checklist里面第一个control是
System.Web.UI.LiteralControl
@飞来飞去: 另外你后台生成的控件不用特意设置runat=server
@飞来飞去: 多谢指教啊 不过还是不行 运行到if里面没执行到额
@lingjie.qiu: 我只是说个思路,因为checklist的controls不全是checkbox,你可以自己把gettype()的值全打印出来看看
@飞来飞去: 哦哦 我局限了 多谢啊
@lingjie.qiu: 另外你if里怎么写的,把ctl转为checkbox了吗?
@飞来飞去: 转了 我发现我点了添加按钮后 全部的checkbox就不见了
@lingjie.qiu: 你checkbox是什么事件添加的?
@飞来飞去:
我是点击查询 动态生成checkbox 然后选中 点击 添加 将选中的文本加入接收人....
@lingjie.qiu: 因为你点击添加后,服务器响应没有执行查询的事件,所以添加checkbox的过程没有执行,不过你可以在添加事件中设置一个断点,看看request.form,会有惊喜
上面不是说得清楚了,你添加了个Literal不是Checkbox
楼猪 没有看错误提示 ?
checkbox的强制转换有问题
出现两个命名空间
System.Web.UI.LiteralControl
System.web.UI.WebControls.CheckBox