获取控件的索引:Controls.IndexOf返回-1

时间:2016-05-24 08:33:28

标签: c# .net

在下面的代码块中,我尝试在foreach中迭代当前控件之前插入一个控件。为了做到这一点,我给我的新控件提供了当前迭代控件的索引,以便在控件取代它时将其推进。

我的问题是alert({}) 返回-1,因此控件会添加到页面的末尾。

Controls.IndexOf

提前感谢您的帮助

2 个答案:

答案 0 :(得分:5)

您正在寻找表单(c)中的控件,然后控制该控件(cc)内部。所以cc是c.controls,没有this.controls。

变化:

Response.Write("INDEX:"+this.Controls.IndexOf(cc));

使用:

Response.Write("INDEX:"+c.Controls.IndexOf(cc));

答案 1 :(得分:0)

如果你在foreach循环中插入控件,你就会搞乱原始集合......所以要小心。

如果在集合中找不到控件,则IndexOf方法的返回值为-1。