Asp.net mvc 4 Recaptcha不适用于ajax和局部视图

Asp.net mvc 4 Recaptcha不适用于ajax和局部视图,asp.net-mvc-4,recaptcha,mvcrecaptcha,Asp.net Mvc 4,Recaptcha,Mvcrecaptcha,我正在MVC4 web应用程序中使用Recaptcha。当它被嵌入表单时,它工作正常,但当我将@Html.RawHtml.generateCaptchaheloper移动到部分视图并试图通过ajax请求调用该部分视图时,它不工作 分机代码: public static string GenerateCaptchaHelper(this HtmlHelper helper) { var captchaControl = new Recaptcha.RecaptchaCont

我正在MVC4 web应用程序中使用Recaptcha。当它被嵌入表单时,它工作正常,但当我将@Html.RawHtml.generateCaptchaheloper移动到部分视图并试图通过ajax请求调用该部分视图时,它不工作

分机代码:

public static string GenerateCaptchaHelper(this HtmlHelper helper)
    {
        var captchaControl = new Recaptcha.RecaptchaControl
        {
            ID = "recaptcha",
            Theme = "clean",
            PublicKey = ************,
            PrivateKey = **********************,
            Language = "En"
        };
        var htmlWriter = new HtmlTextWriter(new StringWriter());
        captchaControl.RenderControl(htmlWriter);
        return htmlWriter.InnerWriter.ToString();
    }
我的部分观点是,代码如下: @Html.RawHtml.generateCaptchaheloper

在我的控制器里

public PartialViewResult Captcha()
    {
        return PartialView();
    }
在我的主要观点中:

 @using (Html.BeginForm("Login", "Account", new { returnUrl = ViewData["ReturnUrl"] }, FormMethod.Post,null))
        {
            @Html.AntiForgeryToken()
            <form role="form">
                <div class="form-group">
                    <label>@Html.LabelFor(m => m.Email)</label><br />
                    @Html.TextBoxFor(m => m.Email, null, new { @class = "form-control", autocomplete = "off" })
                </div>
                <div class="form-group">
                    <label>@Html.LabelFor(m => m.Password)</label><br />
                    @Html.PasswordFor(m => m.Password, new { @class = "form-control", autocomplete = "off" })
                </div>
                <div id="captchaView" class="form-group">
                </div>
                <button type="submit">Login</button>
                    </div>
                </div>
            </form>
        }

您能帮我找出原因吗?

Html.generateCaptchaheloper做什么?任何时候,只要您对该语言进行了扩展,就需要发布相应的代码。否则,我们无法帮助您。@ChrisPratt我更新了代码。和
         $.ajax({
                url: '/Account/Captcha',
                type: 'GET',
                success: function(data) {
                    $('#captchaView').html(data);
                }
            });