我在其中一個項目中使用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