モーダル ポップアップ エクステンダーに問題があります。私がやっているのは、それを「隠し」ボタンに割り当て、別のボタンのクリックメソッドで modal.Show(); を呼び出していることです。背後にあるタスクが何もしていないか、小さな操作を行っている場合、問題なく動作します。問題は、ストアド プロシージャを呼び出すと、モーダルがまったく表示されないことです。私がやろうとしているのは、ユーザーのクリックを防ぎ、プロセスが実行されていることをユーザーに通知することです (つまり、ボタンをクリックすると、要求したすべてのデータを取得するのに数秒かかります)。
誰もこれに遭遇したことがありますか?またはヒントはありますか?
助けてくれてありがとう!
編集:
いくつかのサンプル コードを次に示します (要求に応じて)。
.aspx ページ:
<asp:Button ID="btnStep1Hidden" runat="server" style="visibility: hidden;" />
<asp:Button ID="Step1" Text="Pull ID Cards" OnClick="Step1_Click" UseSubmitBehavior="false" runat="server" CssClass="button_menu" />
<ajax:ModalPopupExtender ID="mpeStep1" runat="server" PopupControlID="panProgress" TargetControlID="btnStep1Hidden" BackgroundCssClass="modalBackground"></ajax:ModalPopupExtender>
.aspx.cs コード:
mpeStep1.Show();
try
{
SqlCommand cmd = APP.DataManager.GetConnection().CreateCommand();
cmd.CommandText = "EXEC [dbo].[sp_Populate_Initial_DataSet_New]" cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
}
catch
{
//Log, etc here
}
そのストアド プロシージャには .DataBinds() はありません。他のプロセスがデータを表示するテーブルにデータを入力するだけです。