ModalPopupExtender とアニメーション gif を使用して、一種の「処理中...」ウィンドウを作成しようとしています。
これが表示されているページは、リクエストの処理に時間がかかる可能性があります...現時点で速度を上げる方法はありません。最終的には、バックグラウンドで DB で実行され、完了したらメールで送信するジョブに切り替えることができました..しかし、今のところ、ポップアップ モーダル処理ウィンドウを表示するだけで済みます。
modalpopup が機能し、接続したパネルが表示されます...問題は、ボタンのポストバックが起動しないことです。これは AJAX 呼び出しではなく、完全なポストバックです。JavaScript を使用してパネルを有効にすることで、他のページでも同様のことを行いましたが、このページではモーダル パネルを使用して、コントロールを台無しにしないようにしたいと考えています。
これは可能ですか?
これが私のコードです:
サーバー側のボタン ハンドラー:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'do stuff here
Dim str As String = ""
End Sub
クライアント側:
...
<asp:Button ID="Button1" runat="server" Text="Button" />
...
<asp:Panel ID="pnlProgress" runat="server" style="display:none">
<div class="borderPanel">Hello!!</div>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="Button1" PopupControlID="pnlProgress" backgroundcssclass="ModalPopupBG" BehaviorID="modalpopup" >
</asp:ModalPopupExtender>
...
そのため、Button1 をクリックするとモーダルが表示されますが、ポストバックがサーバー側のメソッドにヒットすることはありません。何か案は?(ところで、これは単なるテストであるため、コントロールは一般的に名付けられています。)
ありがとう、ジョージ
これが私の新しいコードです... HEADのJSコード:
function ShowPopup() {
$find('modalpopup').show();
return true;
}
ボタン、パネル MPE コード:
<asp:Button ID="Button1" runat="server" Text="login" OnClientClick="ShowPopup();" OnClick="Button1_Click" />
<asp:ModalPopupExtender runat="server" ID="programmaticModalPopup" BehaviorID="modalpopup" TargetControlID="loginButton" PopupControlID="programmaticPopup" BackgroundCssClass="modalBackground" DropShadow="True" RepositionMode="RepositionOnWindowScroll"></asp:ModalPopupExtender>
<asp:Panel runat="server" CssClass="ModalPopupBG" ID="programmaticPopup" Style="background-color: #FFFFCC; display: none; height: 25px; width: 85px; padding: 10px">
<div id='messagediv' style="text-align: center">
Loading...</div>
</asp:Panel>
サーバー側コード:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'do stuff here
Dim str As String = ""
End Sub