首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telerik RadAjaxManager和ASP.net验证器

Telerik RadAjaxManager和ASP.net验证器
EN

Stack Overflow用户
提问于 2011-02-07 18:30:43
回答 1查看 5.6K关注 0票数 1

我正在尝试使用一个必需的字段验证器和Telerik的RadAjaxManager。

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

下面是一个同时包含按钮和手动请求的示例:

代码语言:javascript
复制
<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时,不会发生回发。如果在文本框为空的情况下单击跨度,则会发生回发,并且在服务器端,除非我手动调用Page.Validate(),否则req1.IsValid为真。

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

(我意识到有一些方法可以使用javascript调用验证器,就像在这个example中一样,但是因为我可能有几个来自不同自定义控件的验证器,所以我希望有一种更简单的方法)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-07 21:06:57

几周前,我搜索了同样的东西,偶然发现了this forum post。建议使用Page_ClientValidate()调用,然后显式地阻止页面提交。我还没有尝试过,因为我的项目任务被搁置,但似乎正在为启动线程的人工作,因此您可以尝试它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4920216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档