2016-11-15 3 views
0

選択したインデックスが変更されたときにRadAjaxLoadingPanelを使用してローディングスピナーを表示しようとしているときにasp.net Webページで作業していて、いくつかの他のコードは完了です。ページがリフレッシュされるため、ASP.NETはドロップダウンボックスのRadAjaxLoadingPanelを表示できません

コンボボックスのインデックスが変更されるたびに、ページがリフレッシュされ、表示しようとしたRadAjaxLoadingPanelがまだ存在しないため、私のOnSelectedIndexChanged関数が呼び出されるという問題があります。コンボボックスのインデックスが変更された後、ページが更新される前にロードスピナーを表示するコードを実行する方法はありますか?

コンボボックス例

<telerik:RadComboBox runat="server" ID="cboReportTypes" OnSelectedIndexChanged="cboReportTypes_SelectedIndexChanged" AutoPostBack="true"></telerik:RadComboBox> 

ローディングパネル

<telerik:RadAjaxLoadingPanel ID="ModalLoadingPanel" runat="server" Transparency="10" BackColor="#E0E0E0" Modal="true"> 
    <div style="margin-left: auto; margin-right: auto; margin-top: 45px; margin-bottom: auto; width: 135px; height: 80px;" 
     class="modalProgress"> 
     <div class="spinner"></div> 
    </div> 
</telerik:RadAjaxLoadingPanel> 

率変化ドロップダウンは(一部のみを示すときに呼び出されるスピナー

function showActivityIndicator() { 
     console.log("showing the spinner"); 
     var loadingPanel = $("#<%= ModalLoadingPanel.ClientID %>"); 
     loadingPanel.show(); 
    } 

C#の機能を表示するためにJavaScript関数スピナーを表示する)

protected void cboReportTypes_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e) 
    { 
     ClientScript.RegisterStartupScript(this.GetType(), "startActivityIndicator", "showActivityIndicator()", true); 
    } 

スピナーを表示してもうまく動作しますが、ページが更新されたためにloadingPanelがnullとして返されるため、コンボボックス関数から呼び出されたときにページにエラーが発生します。

ありがとうございました。

+0

このページのhttp://demos.telerik.com/aspnet-ajax/combobox/examples/overview/defaultcs.aspxでサンプルをチェックしましたか?あなたのページには 'がありますか? – Miguel

答えて

0

多くの検索の後、私はブラウザで開いた多くのタブの1つで解決策を見つけることになりました。

ページが更新される前に実行されるOnClientSelectedIndexChangingと呼ばれるRadComboBoxに別のコールバック関数があることが判明しました。したがって、コールバック関数から直接JavaScript関数を呼び出すことで、ユーザーが変更されたデータでページを更新するのを待っている間に、インデックスが変更された後にスピナーを表示させることができます。

<telerik:RadComboBox runat="server" ID="cboReportTypes" OnClientSelectedIndexChanging="showActivityIndicator" OnSelectedIndexChanged="cboReportTypes_SelectedIndexChanged" AutoPostBack="true"></telerik:RadComboBox> 
関連する問題