<telerik:RadCaptcha ID="RadCaptcha1" runat="server" ValidationGroup="SaveUser"
ErrorMessage="Please enter a valid code." EnableRefreshImage="true"
RegisterWithScriptManager="true" IgnoreCase="False" ClientIDMode="AutoID">
</telerik:RadCaptcha>
<des:Button ID="btnVAMFinish" runat="server" Group="SaveUser"
CausesValidation="true" ValidationGroup="SaveUser"
CommandName="MoveComplete" Text="Finish" />
我在asp.net webforms页面上使用带有RadCaptcha的DES按钮(Peter Blum的数据输入套件),但它不验证来自Telerik的RadCaptcha控件。在后面的代码中,即使我为RadCaptcha输入了错误的文本,我总是得到PeterBlum.DES.Globals.WebFormDirector.IsValid == true。
我的问题:有没有办法让RadCaptcha使用DES按钮?
答案 0 :(得分:1)
我能够解决这个问题。 RadCaptcha与Peter的DES按钮无缝协作。但是,必须正确设置它,无论是使用DES按钮还是常规ASP.Net按钮。因此,RadCaptcha与DES按钮完全兼容。
在我的情况下,有几个ajax回发,其中Radjaptcha没有被ajax响应更新。
所以我首先将RadCaptcha包装在服务器端div中,然后将其包含在这些ajax回发的更新控件列表中。这解决了这个问题。
<div id="divCaptcha" runat="server" style="text-align: center; margin: auto; " >
<telerik:RadCaptcha ID="RadCaptcha1" runat="server" ValidationGroup="SaveUser"
ErrorMessage="Please enter a valid code." EnableRefreshImage="true"
RegisterWithScriptManager="true" IgnoreCase="False" ClientIDMode="AutoID">
</telerik:RadCaptcha>
</div>
在asp.net页面的Page Load事件中,我包含了以下代码。
RadAjaxManager1.AjaxSettings.AddAjaxSetting(VendorsRadComboBox, divCaptcha)
RadAjaxManager1.AjaxSettings.AddAjaxSetting(categoriesRadTree, divCaptcha)