我在MVC3.0工作,我想在弹出窗口中实现Captcha(Google服务)。现在的问题是弹出是由ajax调用。
在AJAX调用中,弹出的Re验证码不会出现,但在正常弹出窗口中它正确显示。
我按照以下步骤操作:
第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弹出中实现验证码,那么我该怎么办?
此致 萨赫勒