有没有办法 把N个同类型的控件获取集合。。比如:10 个input ,获取到一个控件数组里面用循环集中处理。

MPU 2005-10-20 04:13:21
有没有办法 把N个同类型的控件获取集合。。比如:10 个input ,获取到一个控件数组里面用循环集中处理。

比如:

<input id="Checkbox1" type="checkbox" value="checkbox" name="checkbox1" runat="server">
<input id="Checkbox2" type="checkbox" value="checkbox" name="checkbox2" runat="server">
<input id="Checkbox3" type="checkbox" value="checkbox" name="checkbox3" runat="server">
<input id="Checkbox4" type="checkbox" value="checkbox" name="checkbox4" runat="server">
<input id="Checkbox5" type="checkbox" value="checkbox" name="checkbox5" runat="server">
<input id="Checkbox6" type="checkbox" value="checkbox" name="checkbox6" runat="server">
<input id="Checkbox7" type="checkbox" value="checkbox" name="checkbox7" runat="server">
<input id="Checkbox8" type="checkbox" value="checkbox" name="checkbox8" runat="server">
甚至更多。。


我要处理的时候
if ( Checkbox1.Checked )
{
}
if ( Checkbox2.Checked )
{
}
if ( Checkbox3.Checked )
{
}
.......................


这样好像太麻烦。如果多了就更麻烦。。
有没有办法搞个控件集合。然后
for()
。。。 处理。

Javascript 就有个。。document.getElementsByName("txtValue") 可以获取控件集合然后处理。
当然有些操作 Javascript 不能做,只能用C# 写代码了。

...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vmape 2005-10-31
  • 打赏
  • 举报
回复
同问,求解。 我的情况是DataGrid中的Template列中放置了CheckBox,想要获取所有这些CheckBox,应该是稍微复杂一点的情况吧。

谢谢!
LoveCherry 2005-10-31
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/msdn/archives/library/dv_vstechart/html/vbtchCreatingControlArraysInVisualBasicNETVisualCNET.asp
swordragon 2005-10-31
  • 打赏
  • 举报
回复
Control myControl1;

for (int i = 1; i <= 30; i++)
{
myControl1 = FindControl("CheckBox" + i.ToString());
if (myControl1 != null)
{
CheckBox myCheckBox = (System.Web.UI.WebControls.CheckBox)(myControl1);
}
}
WeiWY 2005-10-31
  • 打赏
  • 举报
回复
//查找Form1中所有的控件
foreach(Control ct in this.FindControl("Form1").Controls)
{
if (ct is TextBox)
{
TextBox tb=(TextBox)ct;

//如果TextBox的名称不是TextBox1,则清楚控件的值
if(tb.ClientID !="TextBox1")
tb.Text = "";
}
if(ct is Label)
{
Label lb = (Label)ct;
lb.Text = "";
}
}

WeiWY 2005-10-31
  • 打赏
  • 举报
回复
foreach(Control ctr in panel1.Controls)
{
if( .....
}
machao_fast 2005-10-31
  • 打赏
  • 举报
回复
ArrayList DDLArray=new ArrayList();
for(int i=0;i<DadtaGrid1.Items.Count;i++)
{
DDLArray.Add(DataGrid1.Items[i].Cells[j].FindControl("DropDownList1"));
}
machao_fast 2005-10-31
  • 打赏
  • 举报
回复
ArrayList DDLArray=new ArrayList();
for(int i=0;i<DadtaGrid1.Items.Count;i++)
DataGrid1.Items[i].Cells[j].FindControl("DropDownList1");
TigerSuper 2005-10-20
  • 打赏
  • 举报
回复
用checkboxlist
或把它们都放到一个placeHolder中,遍历它的controls集合
pontus 2005-10-20
  • 打赏
  • 举报
回复
遍历一下 然后把符合的控件存在 ArrayList 里

62,074

社区成员

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

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

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

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