Панель загрузки Rad не закрывается после экспорта

Я использую Radgrid. Когда я нажимаю кнопку экспорта, появляется панель загрузки Rad Ajax, но она никогда не закрывается после завершения процесса экспорта.

Есть ли у вас какие-либо идеи по поводу этой проблемы?

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>

Другие вопросы по тегам