2012-05-10 12 views
0

ちょっと私はasp.netにはかなり新しいです、私はデータの束を取り、それを持っているウェブサイト/フォームを作成しようとしています。私はsubmitButton_Clickメソッドを呼び出すサブミットボタンを持っていますが、私は同じイベントでサーバ側で処理をしている間に "待ってください"という更新パネルを表示するmodalpopupも持っています。問題は、modalpopupが正常に動作しているようですが、私のsubmitButton_Clickメソッド呼び出しが圧倒されていることです。私は何をしますか?ModalPopupExtender OnClickをバイパスしてください

また、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> 

答えて

2

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

<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(); 
} 
+0

私は過去にこのアプローチを見てきましたが、私はPopUpControlExtenderを満足させるためのボタンを持っているという考え方は嫌です。私は*働くかもしれない代替案を掲示した* - 私はそれをテストしなかった。 – Icarus

+0

@イカルス:そうです、それも好きではありません。残念ながら、エクステンダを表示する前にロジックを実行する必要があることがあります。私は 'RadToolTip'をしばらく使っています。主にこの理由からです。 –

+0

+1コードが機能しませんでした。 ModalPopUpExtenderは、TargetControlIDを指定する必要があります。 – Icarus

関連する問題