遍历页面中的所有复选框控件

coolbamboo2008 2006-01-02 09:52:31
小弟最近写一个程序,要遍历页面上所有html控件,找到是复选框并且已经被选中的。请问用C#代码怎么写?多谢!
...全文
301 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
singlepine 2006-01-03
  • 打赏
  • 举报
回复
<script language=javascript>
function test()
{
var objs= document.getElementsByTagName("input");
for(var i=0;i<objs.length;i++)
{
if(objs[i].type =='checkbox')
{
//
}
}
}
</script>
这样高效些
guopeng_028 2006-01-03
  • 打赏
  • 举报
回复
楼上几位都是代码说明一切
看来是没什么发言权了
hp44 2006-01-03
  • 打赏
  • 举报
回复
for(i=0;i<document.Form1.elements.length;i++)
{
if(Form1.elements[i].type=='checkbox')
{
//处理
}
}
nimeide1234567890 2006-01-03
  • 打赏
  • 举报
回复
ControlCollection c = this.Page.Controls;
for(int i=0;i<c.Count;i++)
{
for(int j=0;j<c[i].Controls.Count;j++)
{
if(c[i].Controls[j] is CheckBox)
{
......
}
}
}
keebing2 2006-01-03
  • 打赏
  • 举报
回复
js脚本
for (i=0;i<= document.all.length - 1; i++)
{
txtControl = document.all(i);
if (txtControl.type == "checkbox")
{
//处理
}
}
coolbamboo2008 2006-01-03
  • 打赏
  • 举报
回复
我忘了说了,其实我用的是html控件的复选框。这个怎么办呢?
wangehuai 2006-01-03
  • 打赏
  • 举报
回复
赶快收藏,并努力学习!
singlepine 2006-01-03
  • 打赏
  • 举报
回复
StringBuilder s=new StringBuilder();
private void Page_Load(object sender, System.EventArgs e)
{

}
protected void Condition(Control ctrl)
{
foreach (Control c in ctrl.Controls)
{
if(c is System.Web.UI.HtmlControls.HtmlInputCheckBox)
{
if(((System.Web.UI.HtmlControls.HtmlInputCheckBox)(c)).Checked==true)
{
s.Append("1");
}
else
{
s.Append("0");
}
}
Condition(c);
}
}

private void Button1_Click(object sender, System.EventArgs e)
{
Condition(this);
Response.Write(s);
}

那就这样,把上面代码中的CheckBox换成了System.Web.UI.HtmlControls.HtmlInputCheckBox
但是要在Checkbox2的html代码中加runat="server",如下

<INPUT id="Checkbox2" type="checkbox" name="Checkbox2" runat="server">
coolbamboo2008 2006-01-03
  • 打赏
  • 举报
回复
要是在服务器端写,不用javascript应该怎么做呢?
singlepine 2006-01-02
  • 打赏
  • 举报
回复
StringBuilder s=new StringBuilder();
private void Page_Load(object sender, System.EventArgs e)
{
}
protected void Condition(Control ctrl)
{
foreach (Control c in ctrl.Controls)
{
if(c is CheckBox)
{
if(((CheckBox)(c)).Checked==true)
{
s.Append("1");
}
else
{
}
s.Append("0");
}
Condition(c);
}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Condition(this);
Response.Write(s);
}
ChengKing 2006-01-02
  • 打赏
  • 举报
回复
1.
for (int i =0; i<GlobalCategoryPanel.Controls.Count;i++)//GlobalCategoryPanel是个Panel控件
{
if(GlobalCategoryPanel.Controls[i] is AdvancedPanel)//AdvancedPanel是个自定义控件
{
AdvancedPanel ap=(AdvancedPanel)GlobalCategoryPanel.Controls[i];
for(int ap_i=0;ap_i<ap.Controls.Count;ap_i++)
{
if(ap.Controls[ap_i] is Panel)
{
Panel ap_panel=(Panel)ap.Controls[ap_i];
for(int ap_panel_i=0;ap_panel_i<ap_panel.Controls.Count;ap_panel_i++)
{
if(ap_panel.Controls[ap_panel_i] is RadioButtonList)
{
RadioButtonList rbl=(RadioButtonList)ap_panel.Controls[ap_panel_i];
al.Add(int.Parse(rbl.SelectedValue));
}

}
}
}
}
}

2.
示例:
foreach(Control ctl in this.Controls[1].Controls)
{
if(ctl.GetType().Name=="TextBox")
{
TextBox tb =new TextBox();
tb=(TextBox)this.FindControl(ctl.ID);

Response.Write("<script>alert('" + tb=.Text+ "的值为空。');</script>");

}
}
}

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧