ajax modalpopup扩展程序显示来自服务器上的数据

时间:2011-05-26 18:03:17

标签: c# asp.net asp.net-ajax ajaxcontroltoolkit ajax.net

也许我对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无法实现这一目标,还有什么选择?

2 个答案:

答案 0 :(得分:0)

我正在使用拖动扩展器,因为我也遇到了一些模式弹出窗口问题。但这是模式弹出窗口的可能解决方案:

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/08/14/populating-a-modalpopupextender-dynamically.aspx

答案 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的更新方法会刷新。