从主页控制触发Recaptcha

XSL*_*XSL 5 forms asp.net validation recaptcha login-control

我有一个包含Login控件的母版页,以便用户可以从任何页面登录/注销.但是,一些内容页面需要Recaptcha控件.这会导致问题,因为当我尝试登录具有Recaptcha控件的页面时,系统希望我输入单词.我知道Recaptcha控件中缺少验证组,并且您无法在ASP.NET页面上拥有多个表单.有办法解决这个问题吗?我能想到的一种"hacky"方式是在"登录"事件中,检查页面上的Recaptcha控件.如果存在,则禁用它,否则继续.然而,这似乎效率很低,特别是当有很多页面而大多数页面没有Recaptcha控件时.

Adr*_*ong 3

此问题的解决方法如下:

  1. 将 ValidationGroup 设置为登录按钮。当单击 ValidationGroup 设置为非空的按钮时,reCAPTCHA 控件不会进行验证。
  2. 在需要 reCAPTCHA 验证的页面上,将按钮的 ValidationGroup 值保持为非空(否则,登录字段也将被验证),但在子例程上手动调用 RecaptchaControl.Validate() 。

官方 reCAPTCHA 开发邮件列表上的讨论主题