6

アプリケーションのページの部分ビューにキャプチャを実装しようとしています。コントロールとして web.config を介して参照されているキャプチャがあります。このフォーラム投稿の GenericHandler と Class ファイルを使用しました: http://forums.asp.net/t/1871186.aspx/1

単純な入力タグを使用している場合、ユーザーの入力を参照するにはどうすればよいですか? 代わりに HtmlHelper を使用する必要がありますか?

           <div class="captcha">
                <rhcap:Captcha ID="Captcha1" runat="server"></rhcap:Captcha>
                <input type="text" id="UserCaptchaText"><input/>
                <%= Html.TextAreaFor(m => m.UserCaptcha) %>
            </div>

            <%if(Captcha1.Text != /* How can get the users input here?*/ ) {
                  //display error

            }else{
                   //proceed
            }%>
4

4 に答える 4

10

MVC 4 および 5 用のNuGet Google reCAPTCHA V2

web.configファイルの appSettings セクションにある Web.config ファイルに、次のようにキーを追加します。

<appSettings>
   <add name="reCaptchaPublicKey" value="Your site key" />
   <add name="reCaptchaPrivateKey" value="Your secret key" />
</appSettings>

ビューに Recaptcha を追加します。

@using reCAPTCHA.MVC
@using (Html.BeginForm())
{
    @Html.Recaptcha()
    @Html.ValidationMessage("ReCaptcha")
    <input type="submit" value="Register" />
}

ユーザーの応答を確認しています。

[HttpPost]
[CaptchaValidator]
public ActionResult Index(RegisterModel registerModel, bool captchaValid)
{
    if (ModelState.IsValid)
    {
    }
    return View(registerModel);
}

編集:

これもヘッドタグに追加する必要があります。そうしないと、不適切なキャプチャが表示される場合があります

<script src="https://www.google.com/recaptcha/api.js" async defer></script>
于 2015-10-13T07:10:31.320 に答える