我使用asp.net转发器以编程方式创建了一个Web表单,其中一个项目/字段是MSCaptcha控件。在回发时,我想验证验证码。由于验证码字段/控件位于Repeater内部并且this.FindControl(“captchaid”)返回null,因此一直在努力访问它。有什么想法吗?
此外,我可以通过Request.Form [“field id”]访问所有表单值,包括验证码文本。最好的是能够实际验证验证码而不仅仅是捕获值。
答案 0 :(得分:3)
如果您正在使用this.FindControl(如上所述),您将在当前页面或usercontrol中搜索控件,而不是在转发器项目中。您将需要遍历转发器项并在RepeaterItem实例上执行FindControl,直到找到您的验证码控件。 (或谷歌找到递归的FindControl的实现,但我会说这可能不太理想)。