[ad_1]
やあ
データがバックエンドから Excel シートに取り込まれるときに「読み込み中…」というメッセージを表示する必要があり、5 分以上かかります。データの取得が完了したら、このメッセージを画面から削除する必要があります。
JQueryの助けを借りて、ボタンをクリックするとメッセージを表示できます。
ASP.NET
<asp:Button ID="btnDownloadReport" Visible="true" runat="server" Text="Download" OnClientClick="$('.loading').show();" OnClick="btnDownloadReport_OnClick"/> This is the DIV tag that is displaying the message. <div class="loading" id="main" align="center" runat="server"> <br /> Loading. Please wait.<br /> <br />
問題は、データがフェッチされると、このメッセージを非表示にできないことです。
データをプルするメソッドの後に記述されたコードは実行されません。
C#
protected void btnDownloadReport_OnClick(object sender, EventArgs e) { GetData(); // any code written here is not getting executed }
私を助けてください。 その少し緊急。 ありがとう。
解決策 1
スクリプトマネージャーを使用する
ScriptManager.RegisterStartupScript(this, typeof(string), "script", "$('.loading').hide();", true);
解決策 2
以下を使用して、サーバー側から JavaScript コードを挿入します。
MSDN: RegisterClientScriptBlock メソッド[^]
MSDN: RegisterStartupScript メソッド[^]
次のようなものを試してください:
C#
Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "addScript", "HideLoadingImage()", true);
の HideLoadingImage
()、単に画像を非表示にします。
アップデート:
します。 ラベルが同じ更新パネルにある場合は、更新されます。
それでも問題が解決しない場合は、次の記事をご覧ください。 Ajax 更新後のページ コントロールへの JavaScript アクセス (更新パネル経由)[^]
[ad_2]
コメント