Rad装载面板在导出后不会关闭

时间:2012-08-22 14:05:36

标签: c# export-to-excel radgrid radajaxloadingpanel

我正在使用radgrid。当我单击导出按钮时,Rad Ajax加载面板会显示,但在导出过程完成后永远不会关闭。

你对这个问题有什么看法吗?

1 个答案:

答案 0 :(得分:1)

您好我找到了我的解决方案:)我删除了AjaxPanel和AjaxLoadingPanel之间的连接。之后我明确地触发了AjaxLoadingPanel。这是我以前的代码。

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
     <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1"/>
            </UpdatedControls>
        </telerik:AjaxSetting>
        <telerik:AjaxSetting AjaxControlID="btnList">
         <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1"/>
            </UpdatedControls>
        </telerik:AjaxSetting>
     </AjaxSettings>
     <ClientEvents OnRequestStart="ResponseEnd" />
</telerik:RadAjaxManager>

和java脚本

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
    var currentLoadingPanel = null;
    var currentUpdatedControl = null;
    function ResponseEnd(sender, args) {
        //hide the loading panel and clean up the global variables
        if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
                args.get_eventTarget().indexOf("ExportToPdfButton") >= 0 ||
                args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
            args.set_enableAjax(false);
        }

        currentLoadingPanel = $find("<%= RadAjaxLoadingPanel1.ClientID %>");

        if (args.get_eventTarget() == "<%= btnList.UniqueID %>") {
            currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
        }
        else {
            currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
        }
        if (currentLoadingPanel != null)
            currentLoadingPanel.hide(currentUpdatedControl);
        currentUpdatedControl = null;
        currentLoadingPanel = null;
    }
</script>