【问题标题】:ajax modalpopup extender showing data from server on showajax modalpopup 扩展器显示来自服务器的数据
【发布时间】:2011-05-26 18:03:17
【问题描述】:

也许我对 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 无法做到这一点,还有什么替代方案?

【问题讨论】:

  • 您是否从后面的代码中显示您的模态弹出窗口?
  • 是的。由于我必须从服务器检索数据,我在 button_Click 事件中调用 mpe.Show。
  • 是更新面板中的模式弹出窗口吗?

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


【解决方案1】:

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

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

【讨论】:

  • 问题是我必须传入多个键值并带回至少15个值。
  • 您可以尝试博客中描述的动态modalpopup 或将dragpanel 与ajax resizable 控件结合使用。
【解决方案2】:

好的,想通了。将上面的面板放在更新面板中。

<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(对象数据内容); (用户控件有弹出数据。它不一定是用户控件。在此处将您的控件与数据绑定)。

updPnlDetail.Update(); mpe.Show();

数据将显示。我猜更新面板的更新方法会刷新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多