【问题标题】:Telerik RadAjaxManager and ASP.net ValidatorsTelerik RadAjaxManager 和 ASP.net 验证器
【发布时间】:2011-06-22 15:45:09
【问题描述】:

我正在尝试将必填字段验证器与 Telerik 的 RadAjaxManager 一起使用。

如果我使用的是按钮,则没有问题,并且当字段为空时不会发生回发。 但是,在某些情况下,我手动调用 ajax 请求,然后不会进行验证,并且无论该字段是否为空,都会进行回发。

下面是一个带有按钮和手动请求的示例:

<script type="text/javascript">
$("#spanSubmit").click(function()
    {
          $find("<%=RadAjaxManager1.ClientID%>").ajaxRequest();
    });
</script>

<asp:TextBox ID="tb1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="req1" runat="server" ControlToValidate="tb1" Text="!!!"></asp:RequiredFieldValidator>

<asp:Button ID="button1" runat="server" onclick="button1_Click" Text="Submit" />
<span id="spanSubmit">Ajax Request</span>
<asp:Label ID="Label1" runat="server"></asp:Label>

<telerik:RadScriptManager ID="ScriptManager1" runat="server"></telerik:RadScriptManager>
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="button1">
                    <UpdatedControls>                
                        <telerik:AjaxUpdatedControl ControlID="Label1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                    <UpdatedControls>                
                        <telerik:AjaxUpdatedControl ControlID="Label1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>

在文本框为空时单击 button1 - 不会发生回发。 在文本框为空时单击跨度时 - 回发发生,并且在服务器端 req1.IsValid 为真,除非我手动调用 Page.Validate()。

在执行这样的 ajax 请求时,有没有一种简单的方法来激活验证器?

(我意识到有一些方法可以使用 javascript 调用验证器,例如 example,但由于我可能有多个验证器来自不同的自定义控件,我希望有一种更简单的方法)

【问题讨论】:

    标签: asp.net ajax telerik validation


    【解决方案1】:

    几周前,我搜索了同样的内容并遇到了this forum post。建议使用 Page_ClientValidate() 调用,然后显式阻止页面提交。由于我的项目任务被搁置,尚未尝试过,但似乎正在为启动线程的人工作,因此您可以尝试一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-29
      • 2015-11-08
      • 2023-04-09
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      相关资源
      最近更新 更多