永发信息网

CheckBox cb = (CheckBox)ct; 这句话什么意思?

答案:4  悬赏:10  手机版
解决时间 2021-03-19 18:39
  • 提问者网友:焚苦与心
  • 2021-03-18 21:14
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);
}
}
}
最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-03-18 22:39
遍历 form1.Controls中的每一个控件
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); } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯