也许我对Ajax Modal弹出窗口的理解不正确。我想要做的是从服务器检索一些数据,并在用户点击页面上的按钮时弹出模态。以下代码位于页面的aspx中。
<asp:Panel ID="pnlDetail" CssClass="modal" runat="server">
<div class="header">
Data
</div>
<div class="body">
<div class="header">
<asp:Label ID="lblInput" runat="server"></asp:Label>
</div>
</div>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="mpeDetail" PopupDragHandleControlID="pnlDetail" PopupControlID="pnlDetail" TargetControlID="hdnDetail"
BackgroundCssClass="modalBG" CancelControlID="ShowDetailClose" runat="server" />
在页面上按钮的按钮单击事件中,我从服务器检索数据并将值分配给弹出面板中的lblInput并调用mpe.Show ..但它不显示该值。我假设数据需要出现在mpe的负载上,但这不是我必须做的。
如果MPE无法实现这一目标,还有什么选择?
答案 0 :(得分:0)
我正在使用拖动扩展器,因为我也遇到了一些模式弹出窗口问题。但这是模式弹出窗口的可能解决方案:
答案 1 :(得分:0)
好的,想通了。将上面的面板放在更新面板中。
<asp:UpdatePanel ID="updPnlDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
..... <asp:panel .. > ajax mpe control etc (what I have in the question)..
</ContentTemplate>
</asp:UpdatePanel>
然后在按钮单击中,调用以下内容。
UserControl.LoadData(object dataContents); (用户控件有弹出数据。它不必是用户控制。在这里用数据绑定控件。)
updPnlDetail.Update(); mpe.Show();
数据将显示。我想updatepanel的更新方法会刷新。