相关疑难解决方法(0)

验证ASP.NET服务器端的Recaptcha 2(无CAPTCHA reCAPTCHA)

新的Recaptcha 2看起来很有希望,但我没有找到在ASP.NET服务器端验证它的方法,

if(Page.IsValid)这个答案中,对旧的Recaptcha有效,但不适用于新的,

如何在服务器端验证新的reCAPTCHA?

c# vb.net asp.net recaptcha

66
推荐指数
4
解决办法
8万
查看次数

Recapcha在PostBack期间消失

我在这里看到了几个关于使用Recaptcha和ASP.net UpdatePanels的其他帖子,但还没有找到解决我的问题的答案.

这是我的ASPX代码:

<asp:UpdatePanel ID="updRecaptcha" runat="server" UpdateMode="Always">
 <ContentTemplate>
  <recaptcha:RecaptchaControl ID="btnrecaptcha" runat="server" Theme="clean" PrivateKey"<%$ Resources: General, CaptchaPrivateKey %>" PublicKey="<%$ Resources: General, CaptchaPublicKey %>" />        
  <asp:Label ID="recaptchaerror" runat="server" style="color: Red;"/>
 </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

因此,Recaptcha控件存在于使用多个.Net验证控件(例如RequiredFieldValidator)的用户控件中.在允许进程继续之前,我需要对Recaptcha和ASP.net控件进行验证.

如果任何验证失败(Recaptcha或.Net),则Recaptcha控件将消失.看一下HTML源代码,在Postback之后根本没有加载控件 - 尽管我告诉UpdatePanel要更新.

我无法完全重新加载页面,因为这一切都显示为页面顶部的叠加层,页面后面还有其他表单字段.

请帮忙!

编辑:

当Recaptcha失败时从C#我调用这段代码:

ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "InvalidRecaptcha", "alert('Recaptcha Failed');Recaptcha.reload();alert('Recaptcha Reloaded');", true);
Run Code Online (Sandbox Code Playgroud)

两个警报语句都会触发,但Recaptcha仍然无法加载.

asp.net updatepanel recaptcha

8
推荐指数
3
解决办法
9410
查看次数

标签 统计

asp.net ×2

recaptcha ×2

c# ×1

updatepanel ×1

vb.net ×1