2009-08-15 8 views
5

ASP.NET AJAXを使用しているASP.NETアプリケーションがあります。私は、ASP.NET AJAX Toolkitを使用してユーザーにダイアログを提示しています。ユーザーがダイアログで「はい」をクリックすると、そのイベントをコードの背後で処理したいと思います。しかし、私はクリックイベントに達していないことに気付きました。ここでは、メインコードされています後ろにASP.NET + ModalPopupExtender + Clickイベント

<asp:Panel ID="dialogContinuePanel" runat="server" style="display:none;" DefaultButton="yesButton">  
    <div>Are you sure you want to continue?</div> 
    <div> 
    <asp:ImageButton ID="yesButton" runat="server" AlternateText="Yes" ImageUrl="/resources/yes.png" OnClick="yesButton_Click" /> 
    <asp:ImageButton ID="noButton" runat="server" AlternateText="No" ImageUrl="/resources/no.png" /> 
    </div> 
</asp:Panel> 

<asp:LinkButton ID="hiddenLinkButton" runat="server" Text="" /> 
<cc1:ModalPopupExtender ID="dialogErrorExtender" runat="server" OkControlID="yesButton" 
    TargetControlID="hiddenLinkButton" PopupControlID="dialogContinuePanel" 
    CancelControlID="noButton" />      

マイコード:

protected void yesButton_Click(object sender, EventArgs e) 
{ 
    string argument = yesButton.CommandArgument; 
    // Do some processing and redirect the user 
} 

にはどうすればModalPopupExtenderで使用されているボタンのクリックイベントを処理していますか?私は間違って何をしていますか?

答えて

11

モーダルポップアップエクステンダ定義からOkButtonプロパティを削除する必要があります。私はこれが直観に反しているように思えますが、その参照を追加すると、事実上、ポストバックを起こさずにクライアント側で作業することができます。

は、だから、これを試してください: - チェックインできるようにするには、モーダルダイアログ内のチェックボックスを取得

<cc1:ModalPopupExtender ID="dialogErrorExtender" runat="server" 
    TargetControlID="hiddenLinkButton" PopupControlID="dialogContinuePanel" 
    CancelControlID="noButton" /> 
+0

これは実際に私が持っていた別の問題を修正しました。 TargetControlIDを非表示のリンクボタンに設定することはやりました。 - Thnks – MikeD