ASP.Net: элемент управления метками на панели не обновляется

У меня есть панель ASP с прикрепленным к ней modalpopupextender, который отображается динамически. Внутри панели есть две метки, которые динамически заполняются текстом при отображении всплывающего окна панели. однако, когда он отображается, метки пусты (отсутствуют). Ниже приведен мой код для HTML-разметки и кода:

HTML-РАЗМЕТКА

<asp:Panel ID="pnlalert" runat="server" CssClass="modal">
    <div class="rel">
        <div class="modal-inner-wrapper-alert rounded-corners">
            <div class="content rounded-corners">
                <div class="body">
                    <div class="popuppanel">
                        <div class="popupGnrl-Alert">
                            <asp:Label ID="alerttitle" runat="server" Text=""></asp:Label><br />
                            <asp:Label ID="alertlabel" runat="server" Text=""></asp:Label>
                            <asp:HiddenField ID="section" runat="server" />
                            <asp:HiddenField ID="violation" runat="server" />
                        </div>
                        <div class="popupGnrl-Alert" style="text-align:center;">
                            <asp:Button ID="cmdMaxAlertOk" runat="server" Text="Yes" Width="50px" 
                                onclick="cmdMaxAlertOk_Click" />&nbsp;<asp:Button ID="cmdMaxAlertCancel" 
                                runat="server" Text="No" Width="50px" onclick="cmdMaxAlertCancel_Click" />
                        </div>
                    </div>    
                </div>
            </div>
        </div>
    </div>
</asp:Panel>
<asp:ModalPopupExtender ID="mpealert" runat="server" TargetControlID="popuplnk" PopupControlID="pnlalert" >
</asp:ModalPopupExtender>

Код ASP.NET позади

            this.mpealert.Show();
            this.alerttitle.Text = "Submission time exceeded";
            this.alertlabel.Text = "This expense was incurred greater than 3 months ago and is therefore outside of the normal claim period. Do you still wish to proceed?  NOTE: expense may be rejected by Finance.";

Что может быть причиной того, что метки не отображаются?


person mattgcon    schedule 14.08.2011    source источник
comment
Вы пытались установить текст, а затем вызвать Show()?   -  person Bala R    schedule 14.08.2011
comment
Да, я только что попробовал это до того, как получил ваш комментарий, и это все еще не сработало.   -  person mattgcon    schedule 14.08.2011


Ответы (2)


Вы устанавливаете текст меток в событии кнопки, которое показывает расширитель модального всплывающего окна?

Если это так, событие «show», вероятно, обрабатывается на стороне клиента, и ваш код настройки текста на стороне сервера, вероятно, никогда не вызывается.

Оберните свой modalpopupextender в UpdatePanel и установите для него значение «Обновить» значение «Всегда».

person Jack Marchetti    schedule 14.08.2011
comment
Это сработало прекрасно, большое спасибо. имеет смысл, что изменение значения метки выполнялось при нажатии кнопки в другое время. - person mattgcon; 14.08.2011
comment
Прочтите UpdatePanels и т. д., если вы этого не сделали. Их очень легко реализовать, но это не лучший выбор для использования. - person Jack Marchetti; 14.08.2011

Приведенный выше ответ не сработал для меня. Если мы сохраним панель внутри панели обновления и вызовем метод обновления на панели обновления, то содержимое будет обновлено.

person sdubey    schedule 08.10.2013