在第三个嵌套转发器中查找动态添加的控件
我有三个中继器。我们称它们为 R1、R2 和 R3。
在 R3
中,我在 Page_Init
中创建了一堆控件。例如,其中一个控件的名称为 WMC_image
。
我使用此代码来获取 R2:
Page.FindControl("R1").Controls[1].FindControl("R2")
这工作正常。但是当我添加代码来获取 R3: 时,
Page.FindControl("R1").Controls[1].FindControl("R2").Controls[1].FindControl("R3")
我收到错误:
“System.ArgumentOutOfRangeException:指定的参数超出了范围 有效值的范围。参数名称:索引”。
我怎么会收到此错误?如何获取 R3 内部的 HtmlGenericControl?
编辑:抱歉,但我忘记添加只有 R1 在 Page_Init 中填充 DataBind() 。其他两个中继器被填充在 OnItemDataBound 事件中,
当我循环出 R1 中的所有控件时,我得到了一堆点击,但即使我可以在我的网站上看到它们,我也没有得到任何结果。
I have three repeaters. Lets call them R1, R2 and R3.
In R3
, I create a bunch of controls in Page_Init
. For example, one of those controls has the name WMC_image
.
Im using this code to get R2:
Page.FindControl("R1").Controls[1].FindControl("R2")
This works fine. But when I add the code to get R3:
Page.FindControl("R1").Controls[1].FindControl("R2").Controls[1].FindControl("R3")
I get the error:
"System.ArgumentOutOfRangeException: Specified argument was out of the
range of valid values. Parameter name: index".
How come I get this error? And how do I fetch the HtmlGenericControl inside of R3?
EDIT: Sorry but I forgot to add that only R1 get filled DataBind() in the Page_Init. The other two Repeaters gets filled in the OnItemDataBound event.
When I loop out all controls in R1, I get a bunch of hits. But I get nothing from R2 even tho' I can see them on my site.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在多行中执行此操作,而不是在一行中执行此操作:
您可能还想添加一些错误检查
Instead of doing it in one line you need to do this in multiple lines:
You'll probably want to add some error checking as well