使Telerik的RadCaptcha与Peter的Data Entry Suite按钮配合使用

时间:2014-09-21 23:29:50

标签: asp.net webforms telerik peterblum

 <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按钮?

1 个答案:

答案 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)