我在 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 弹出中实现验证码,那么我该怎么办?
问候, 萨希尔