1

我在 MVC3.0 中工作,我想在弹出窗口中实现验证码(谷歌服务)。现在的问题是弹出窗口是由 ajax 调用产生的。

在 AJAX 调用中,不会出现 Re captcha 弹出窗口,但在正常弹出窗口中,它会正确出现。

我按照以下步骤操作:

第 1 步:我将其包含在 Email.cshtml 中

@Html.Raw(Html.GenerateCaptcha())

第 2 步:在我的 .cs 文件中生成此函数:

public static string GenerateCaptcha(this HtmlHelper helper)
{
    var captchaControl = new RecaptchaControl
    {
        ID = "recaptcha",
        Theme = "clean", //http://wiki.recaptcha.net/index.php/Theme
        PublicKey = ConfigurationManager.AppSettings["ReCaptchaPublicKey"],
        PrivateKey = ConfigurationManager.AppSettings["ReCaptchaPrivateKey"]
    };
    var htmlWriter = new HtmlTextWriter(new StringWriter());
    captchaControl.RenderControl(htmlWriter);
    return htmlWriter.InnerWriter.ToString();
}

第 3 步:然后在 web.config 中添加公钥和私钥,并添加必要的命名空间

我遵循了所有步骤。

有人可以建议是否弹出是由 Ajax 调用产生的,如果我必须在 Ajax 弹出中实现验证码,那么我该怎么办?

问候, 萨希尔

4

0 回答 0