Проблема с кнопкой ModalPopupExtender

Я пытаюсь понять, почему мой ModalPopupExtender продолжает закрываться, каждый раз, когда пользователь нажимает любую кнопку, он запускает код, потому что я поставил точку останова, и он ломается там, но modalPopup немедленно закрывается, что нехорошо, потому что если у него есть какие-либо ошибки в процессе они не могут отображаться. Итак, как мне остановить закрытие modalpopup? Я не указал OKControlID или CancelControlID.

Код панели:

<asp:Panel ID="Panele" runat="server" style="display: none; position:absolute; top: 50%; left: 35%; width: 500px; height: 350px; background-color: White; border: solid 1px black; padding-left: 15px; text-align: left;">
        <asp:ImageButton ID="CloseEBtn" runat="server" 
        ImageUrl="images/CloseButton.png" style="float: right; margin-right: 3px; margin-top: 3px;" 
        onclick="CloseEBtn_Click" />
<strong>Name:<asp:TextBox ID="fromTextBox" runat="server"></asp:TextBox></strong>
    <asp:Button ID="SndBtn" runat="server" Text="Send" onclick="SndBtn_Click" />
&nbsp;<asp:Button ID="ClrBtn" runat="server" Text="Clear" />
    <br />
    <br />
    <asp:Label ID="msglabel" runat="server"></asp:Label>
</asp:Panel>

Мой код ModalPopupExtender:

<asp:ModalPopupExtender ID="popup" runat="server" 
    TargetControlID="SIBtn" PopupControlID="Panele" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>

Код позади:

    protected void SndBtn_Click(object sender, EventArgs e)
    {
        msglabel.Text = "The Window Didnt Close";
    }
    protected void ClrBtn_Click(object sender, EventArgs e)
    {
        fromTextBox.Text = "";
        toTextBox.Text = "";
        subjectTextBox.Text = "";
        MessageTextBox.Text = "";
        msglabel.Text = "";
    }

person atrljoe    schedule 22.03.2011    source источник
comment
Пожалуйста, опубликуйте свои методы кода программной части, а также   -  person Robert Williams    schedule 22.03.2011


Ответы (2)


Под запуском кода программной части, если вы имеете в виду обратную отправку страницы, модальные всплывающие окна не перезагружаются явно. Вы должны написать некоторый код с сервера, чтобы отобразить модальное всплывающее окно; на расширителе есть метод Show() на стороне сервера и метод show() на стороне клиента, например:

$find("<%= mpe.ClientID %>").show();

ХТН.

person Brian Mains    schedule 22.03.2011
comment
проблема в том, что у меня есть другие вещи, которые генерируют обратную передачу на странице, поэтому как мне определить, была ли эта обратная передача вызвана модальным всплывающим окном? - person atrljoe; 22.03.2011
comment
Возможно, вы захотите внедрить сценарий, предложенный Брайаном, из кода программной части при нажатии кнопки, например, здесь: >dotnetslackers.com/articles/aspnet/ - person gbs; 22.03.2011
comment
Знаете ли вы, какие элементы управления вызывают обратную передачу? Это должно быть обнаружение обратной передачи управления и знание того, что управление находится внутри модального всплывающего окна. Или, не знаю, почему я до этого не додумался, еще лучше, использовать панель обновлений. Элемент управления updatepanel должен предотвратить эту проблему... - person Brian Mains; 23.03.2011

Для меня UseSubmitBehavior="false" на asp:Button сделал свое дело.

person Niels Bos    schedule 28.04.2011