ここにある.net 1.1プロジェクトで古いバージョンのRecaptcha Validatorを使用しようとしています: http://recaptcha.googlecode.com/svn/trunk/recaptcha-plugins/dotnet-old/src/Recaptcha /
私が持っているコードは、上記のリンクにある例と非常によく似ています。
<asp:TextBox ID="EmailAddress" runat="server"></asp:TextBox>
<recatpcha:RecaptchaValidator ID="RecaptchaValidator1" runat="server" Theme="Clean" PublicKey="xxxxxxxxxxxxxx" PrivateKey="xxxxxxxxxx" ControlToValidate="EmailAddress"></recatpcha:RecaptchaValidator>
<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="true" OnClick="Button1_Click" />
私が望んでいる動作は単純です。ページの読み込み時に、ユーザーにメールアドレスを入力するフィールド、完了するキャプチャ、および送信ボタンが表示されます。送信時に、その電子メール アドレスを持つユーザーがデータベースに見つからない場合、またはキャプチャの回答が間違っている場合、適切なエラー メッセージと共に新しいキャプチャが表示されます。それ以外の場合は、パスワードのリセット方法に関するメールが送信されます。
主な問題は、キャプチャがページの読み込み時に表示されないことです。ただし、送信ボタンを押して Page.Validate() をトリガーすると、ページがリロードされ、キャプチャが表示されます。
これに基づいて、別のアプローチを試して、ページ読み込みイベントで Page.Validate() を呼び出して、キャプチャを最初に表示させることにしました。これはほとんど機能しました。最初のページの読み込み時にキャプチャが表示されましたが、無効な電子メールが正しいキャプチャの回答とともに送信された場合、ページがリロードされるとキャプチャは消えますが、もちろん、電子メールは送信できません。
ページが最初にヒットしたときにキャプチャを強制的にレンダリングするか、無効な電子メールアドレスが入力されたときにキャプチャが送信されないようにするにはどうすればよいですか?