foreach (Control ct in form1.Controls)
{
if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox"))
{
CheckBox cb = (CheckBox)ct;
if (cb.Checked == true)
{
Response.Write(cb.Text);
}
}
}
CheckBox cb = (CheckBox)ct; 这句话什么意思?
答案:4 悬赏:10 手机版
解决时间 2021-03-19 18:39
- 提问者网友:焚苦与心
- 2021-03-18 21:14
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-03-18 22:39
遍历 form1.Controls中的每一个控件
CheckBox cb = (CheckBox)ct;
将从form1中遍历出来的控件转换成CheckBox类型
这里必须转换,从Form中遍历出得每个控件,默认类型都是Control类型,所以
必须转换成你需要操作的类型,然后操作。
CheckBox cb = (CheckBox)ct;
将从form1中遍历出来的控件转换成CheckBox类型
这里必须转换,从Form中遍历出得每个控件,默认类型都是Control类型,所以
必须转换成你需要操作的类型,然后操作。
全部回答
- 1楼网友:空山清雨
- 2021-03-18 23:16
强制类型转换,将ct强制转换为checkbox类型并且赋值给cb,但是我觉得这里这样写好像没有什么必要,ct本来就是checkbox类型的,所以用不用强制类型转换都可以
- 2楼网友:渊鱼
- 2021-03-18 23:09
可能是因为你每次取值时都重新加载了一次页面,!this.ispostback 在这之内绑定界面
- 3楼网友:野味小生
- 2021-03-18 23:00
实现强制类型转换。由於foreach循环中的变量使用了控制的最高超类 Control ,不能直接将它赋给CheckBox的引用变量cb,因此一定要做向下转型,强制转为CheckBox类型的引用。
而且,CheckBox本身的功能,在Control类型引用中是不能使用,必需转型。
另外,提供一个清楚,而又简单的方法。
foreach( Control ct in form1.Controls)
{
//用 as 关键 字转型,好处是如果转型不成功,会返回null值。那麼就以此来判断是否CheckBox
CheckBox cb = ct as CheckBox;
if( cb != null)
{
if(cb.Checked)
{
Response.Write(cb.Text);
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯