我在其中一个项目中使用Google recaptcha。我在aspx页面中添加了recaptcha控件。现在我想验证在recaptcha中输入的值是否正确。我怎样才能做到这一点按钮点击事件?我正在使用C#。验证服务器端的recaptcha
回答
if(Page.IsValid) //Will be true if captcha text is correct otherwise it will be false
{
//***your code****
}
编辑: 呼叫 Page.Validate()
检查条件
它在Page.IsValid中不起作用。它总是返回true。当我使用recaptcha.validate()和之后,当检查recaptcha.IsValid它的工作。但我不知道它的正确方法 – 2011-04-28 12:14:37
是的,这或多或少是正确的:您通常会调用'Page.Validate'来检查页面上的所有控件。从[IsValid MSDN](http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.isvalid.aspx):“只有在调用页面后,才应检查此属性。验证方法,或者在启动表单处理的ASP.NET服务器控件的OnServerClick事件处理程序中将CausesValidation属性设置为true。“ – Rup 2011-04-28 12:17:13
@Rup:所以如果我只想验证recaptcha而不是所有的控件,那么我可以使用recaptcha.validate和recaptcha.IsValid。 – 2011-04-30 04:07:13
显然,它不与ASP.NET ValidationGroups工作之前。如果您有ValidationGroup,则需要在检查recaptcha.IsValid或Page.IsValid之前手动调用recaptcha.Validate()。
如果您正在使用ASP.NET验证码控制, 你需要手动调用
recaptcha.Validate()
您检查recaptcha.IsValid
或Page.IsValid
属性之前。
C#必须使用recaptcha.Validate()depois可以使用检查Page.IsValid
你的意思是你使用[谷歌的ASP.NET控件(http://code.google.com/p /验证码/下载/列表q =标签:aspnetlib - 最新)?还是你自己在你的页面上嵌入了验证码脚本? – Rup 2011-04-28 11:42:43
@Rup:是的,我正在使用谷歌recaptcha。为此,首先添加了Recaptcha.dll,然后添加了recaptcha控件 – 2011-04-28 12:12:48