2009-08-15 19 views
5

Mam aplikację ASP.NET, która używa ASP.NET AJAX. Używam zestawu narzędzi ASP.NET AJAX do przedstawienia okna dialogowego dla użytkownika. Kiedy użytkownik kliknie "Tak" w oknie dialogowym, chcę obsłużyć to zdarzenie w kodzie z tyłu. Zauważyłem jednak, że moje kliknięcie nie jest osiągane. Oto kod główny:ASP.NET + ModalPopupExtender + Kliknij wydarzenie

<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" />      

mojego kodu Behind:

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

jaki sposób obsłużyć zdarzenia kliknięcia przycisku, który jest używany z ModalPopupExtender? Co ja robię źle?

Odpowiedz

11

Musisz usunąć właściwość OkButton z definicji modalnego popup extender. Wiem, że to wydaje się być sprzeczne z intuicją, ale kiedy dodasz to odwołanie, faktycznie zaczepia rzeczy do pracy po stronie klienta bez powodowania postbacks.

Więc po prostu spróbuj tego:

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

To rzeczywiście ustalony inny problem miałem mającą - uzyskanie pole wyboru, aby być w stanie sprawdzić, w oknie modalnym. Ustawienie TargetControlID na ukryty przycisk linku zmyśliło. - Thnks – MikeD

Powiązane problemy