2009-08-15 3 views
5

У меня есть приложение ASP.NET, использующее ASP.NET AJAX. Я использую ASP.NET AJAX Toolkit, чтобы представить диалог пользователю. Когда пользователь нажимает «Да» в диалоговом окне, я хочу обработать это событие в коде позади. Тем не менее, я заметил, что мое событие click не достигнуто. Вот основной код:ASP.NET + ModalPopupExtender + Click Event

<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 на кнопку скрытой ссылки сделала трюк. - Тонкс – MikeD