Tôi đã thấy một vài bài đăng khác ở đây liên quan đến việc sử dụng Recaptcha với ASP.net UpdatePanels nhưng chưa tìm thấy câu trả lời giải quyết được vấn đề của tôi.Recaptcha biến mất trong khi PostBack
Đây là mã ASPX của tôi:
<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>
Vì vậy, cuộc sống kiểm soát ảnh xác thực lại trong một điều khiển người dùng có sử dụng một số điều khiển xác nhận Net (ví dụ RequiredFieldValidator). Tôi cần phải valdiate Recaptcha và các điều khiển ASP.net trước khi cho phép quá trình tiếp tục.
Nếu bất kỳ xác thực nào không thành công (Recaptcha hoặc .Net) thì điều khiển Recaptcha biến mất. Nhìn vào nguồn HTML, điều khiển không tải sau khi Postback - eventhough tôi đang nói UpdatePanel để cập nhật.
Tôi không thể tải lại hoàn toàn trang vì tất cả điều này xuất hiện dưới dạng lớp phủ ở đầu trang và có các trường biểu mẫu khác trên trang phía sau.
Vui lòng trợ giúp!
Edit:
Từ C# khi reCAPTCHA thất bại tôi kêu gọi mã này:
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "InvalidRecaptcha", "alert('Recaptcha Failed');Recaptcha.reload();alert('Recaptcha Reloaded');", true);
Cả hai báo cáo lửa cảnh báo nhưng reCAPTCHA vẫn không tải.
Bạn có liên kết đến một cuộc biểu tình trực tiếp về nó không? Tôi nghi ngờ rằng không phải là khởi tạo lại javascript sau khi đăng bài trở lại. – Aristos
Thật không may không phải là một mà tôi có thể chia sẻ. Tôi đã thấy trong tab điều khiển của Google Chrome rằng nó đã hiển thị lỗi này: Không thể đặt giá trị của thuộc tính 'innerHTML'. –