当第二次按下按钮时,RadAjaxManager OnRequestStart不会被触发

本文关键字:OnRequestStart RadAjaxManager 第二次 按钮 | 更新日期: 2023-09-27 18:05:40

当第二次按下按钮时,RadAjaxManager OnRequestStart不会被触发。

1。按钮后置工作良好。2.

代码:

Rad代码块

    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            var currentLoadingPanel = null;
            var currentUpdatedControl = null;
            var btn1 = $find("<%= btnsave.ClientID%>");
            function requestStart(sender, args) {
                currentLoadingPanel = $find("<%= RadAjaxLoadingPanel1.ClientID%>");
                btn1 = $find("<%= btnsave.ClientID%>");
                if (args.get_eventTarget() == "<%= btnsave.UniqueID %>") {
                    currentUpdatedControl = "<%= importprocess.ClientID %>";
                    //show the loading panel over the updated control   
                    currentLoadingPanel.show(currentUpdatedControl);
                }
            }
            function responseEnd() {
                //hide the loading panel and clean up the global variables               
                if (currentLoadingPanel != null) {
                    currentLoadingPanel.hide(currentUpdatedControl);
                }
                currentUpdatedControl = null;
                currentLoadingPanel = null;
            }
        </script>
    </telerik:RadCodeBlock>
    <telerik:RadAjaxManager ID="RadAjaxManager1"  runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="btnstart">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="importprocess" />
                </UpdatedControls>
            </telerik:AjaxSetting>
              <telerik:AjaxSetting AjaxControlID="btnsave">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="btnsave" ></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
         <ClientEvents OnRequestStart="requestStart" OnResponseEnd="responseEnd"></ClientEvents>
    </telerik:RadAjaxManager>

RadAjaxLoadingPanel

当第二次按下按钮时,RadAjaxManager OnRequestStart不会被触发

仅供参考,我认为您不需要第二个ajax设置。

<telerik:AjaxSetting AjaxControlID="btnsave">
    <UpdatedControls>
        <telerik:AjaxUpdatedControl ControlID="btnsave" ></telerik:AjaxUpdatedControl>
    </UpdatedControls>
</telerik:AjaxSetting>

除非你要修改服务器上的按钮,否则你不需要这个。我会在你发布的代码块之外寻找一些东西。

使用javascript控制台,尝试访问ajax管理器的javascript实例,并在单击按钮之前和之后检查OnRequestStart的值。

我希望在第一个页面加载之前和之后的值是不同的。这可能是问题的一部分。

我也会看看你的代码块,以确保它不会被加载超过一次。我不知道为什么会这样,但我看到过这种情况的发生,这取决于你的页面是如何设置的。

这些是我最好的猜测。如果我能看到aspx, js和c#的整个页面,我可能会更有帮助。