• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

如何在后台便利当前页面中的所有CheckBox

冬天里的小生命 2012-03-10 07:57:59
比如 我页面中有有10个CheckBox 后台通过一个方法获取他们的ID

我记得是后台通过foreach的方法获取,但是具体操作忘记了,请各位帮帮忙
...全文
132 点赞 收藏 7
写回复
7 条回复
dalmeeme 2012年03月10日
[Quote=引用 6 楼 fengyarongaa 的回复:]
引用 5 楼 dalmeeme 的回复:

我给他的代码是简单测试过的,它说不行,可能是所谓的CheckBox根本不是WebControl,或许是HtmlControl或者LiteralControl的一部分。


有一种 心理是 看了代码 不想用 或者 直接用 也不改改 就说不行
[/Quote]
嗯,有道理。
回复 点赞
ycproc 2012年03月10日
[Quote=引用 5 楼 dalmeeme 的回复:]

我给他的代码是简单测试过的,它说不行,可能是所谓的CheckBox根本不是WebControl,或许是HtmlControl或者LiteralControl的一部分。
[/Quote]

有一种 心理是 看了代码 不想用 或者 直接用 也不改改 就说不行
回复 点赞
dalmeeme 2012年03月10日
我给他的代码是简单测试过的,它说不行,可能是所谓的CheckBox根本不是WebControl,或许是HtmlControl或者LiteralControl的一部分。
回复 点赞
licai1210 2012年03月10日
[Quote=引用 2 楼 dalmeeme 的回复:]
这个要看复选框所处控件树中的层次和位置而定。
一般地,可以用递归实现:

C# code

protected void Page_Load(object sender, EventArgs e)
{
GetCheckBoxID(this.Page);
}
protected void GetCheckBoxID(Control c……
[/Quote]
这个要看复选框所处控件树中的层次和位置而定。
一般地,可以用递归实现:
看懂这句话,control.Controls[0].Controls,说不定是control.Controls[0].Controls[0].Controls多去试试
回复 点赞
冬天里的小生命 2012年03月10日
有没有人帮个忙,这两种都不行
回复 点赞
dalmeeme 2012年03月10日
这个要看复选框所处控件树中的层次和位置而定。
一般地,可以用递归实现:
	protected void Page_Load(object sender, EventArgs e)
{
GetCheckBoxID(this.Page);
}
protected void GetCheckBoxID(Control control)
{
foreach (Control ctl in control.Controls)
{
if (ctl is CheckBox)
Response.Write(ctl.ID + "<br/>");
if (ctl.HasControls())
GetCheckBoxID(ctl);
}
}
回复 点赞
lilin0503 2012年03月10日
CheckBox chebox = new CheckBox(this.CheckBox)
然后用foreach遍历chebox
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告