0

こんにちは、私はasp.netにかなり慣れていません。大量のデータを取り込んで処理するWebサイト/フォームを作成しようとしています。submitButton_Click メソッドを呼び出す送信ボタンがありますが、同じイベントでサーバー側で処理を行っている間、「しばらくお待ちください」という updatepanel を表示する modalpopup もあります。問題は、modalpopup が正常に動作しているように見えることですが、submitButton_Click メソッドの呼び出しが抑制されています。私は何をしますか?

また、updatepanel が開いたときに呼び出されるデフォルトのメソッドを使用できる場合は? 前回更新したにもかかわらず、パネルがポップアップするたびにパネルを同じにしたい。

<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click"
            CssClass="buttons"/>

<asp:ModalPopupExtender 
        ID="modalProgress" 
        runat="server" 
        OkControlID="btnOkay" 
        TargetControlID="submitButton" 
        PopupControlID="progessPanel"
        BackgroundCssClass="modalBackground">

</asp:ModalPopupExtender>
4

1 に答える 1

2

クリック イベントをバイパスしません。クライアント側onclickが false を返すように変更するだけで、ポストバックが無効になります。正直なところ、私はいつもこれがお尻の痛みだと思っていました. 幸いなことに、回避策があります。

<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click"                CssClass="buttons"/>
<!-- hidden button to satisfy the extender -->
<asp:Button ID="hiddenButton" runat="server" style="display:hidden" />

<asp:ModalPopupExtender 
        ID="modalProgress" 
        runat="server" 
        OkControlID="btnOkay" 
        TargetControlID="hiddenButton" 
        PopupControlID="progessPanel"
        BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>

非表示のボタンを追加することで、エクステンダーの要件を満たし、送信ボタンのクリック イベントからコード ビハインドでダイアログを開くことができます。

protected void submitButton_Click(object sender, EventArgs e)
{
    //display the modal dialog
    modalProgress.Show();
}
于 2012-05-10T19:46:49.397 に答える