Recaptcha исчезает во время PostBack

Я видел здесь пару других сообщений об использовании Recaptcha с ASP.net UpdatePanels, но еще не нашел ответа, который решает мою проблему.

Вот мой код ASPX:

<asp:UpdatePanel ID="updRecaptcha" runat="server" UpdateMode="Always">
 <ContentTemplate>
  <recaptcha:RecaptchaControl ID="btnrecaptcha" runat="server" Theme="clean" PrivateKey"<%$ Resources: General, CaptchaPrivateKey %>" PublicKey="<%$ Resources: General, CaptchaPublicKey %>" />        
  <asp:Label ID="recaptchaerror" runat="server" style="color: Red;"/>
 </ContentTemplate>
</asp:UpdatePanel>

Итак, элемент управления Recaptcha находится внутри пользовательского элемента управления, который использует несколько проверочных элементов управления .Net (например, RequiredFieldValidator). Мне нужно проверить Recaptcha и элементы управления ASP.net, прежде чем продолжить процесс.

Если какая-либо из проверок не удалась (Recaptcha или .Net), элемент управления Recaptcha исчезает. Если посмотреть на исходный код HTML, элемент управления не загружается вообще после Postback - хотя я и говорю UpdatePanel обновить.

Я не могу полностью перезагрузить страницу, так как все это отображается в виде наложения поверх страницы, а на странице позади есть другие поля формы.

Пожалуйста, помогите!

Редактировать:

Из C #, когда Recaptcha не работает, я вызываю этот код:

ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "InvalidRecaptcha", "alert('Recaptcha Failed');Recaptcha.reload();alert('Recaptcha Reloaded');", true);

Оба оператора предупреждения срабатывают, но Recaptcha по-прежнему не загружается.

8
задан rf_wilson 23 January 2012 в 13:39
поделиться