自定义用户控件中的ASP.NET Ajax模式弹出扩展器显示问题

时间:2010-01-14 21:10:38

标签: c# asp.net user-controls ajaxcontroltoolkit

目前我有一个自定义用户控件,其中有一个小窗体和一个模态弹出扩展器,想法是在父页面中动态加载用户控件并显示,以便用户可以填写表单并提交它和所有提交代码都在用户控件上处理

我遇到的问题是当尝试进行模态弹出显示以便用户可以与之交互时,根本没有显示任何内容,代码如下:

用户控件:

<asp:UpdatePanel ID="breakTheGlassUpdatePanel" runat="server">
<ContentTemplate>
    //some fields for entry and a submit/cancel button
</ContentTemplate>
</asp:UpdatePanel>

<ajaxToolkit:ModalPopupExtender runat="server" ID="breakModal"
    TargetControlID="breakModalHolder" 
    BackgroundCssClass="btgModalBackground" 
    DropShadow="true" 
    PopupControlID="breakTheGlassUpdatePanel" />

    <asp:Button ID="breakModalHolder" runat="server" Style="display:none;" />

父页面中的代码:

BreakTheGlassControl btgControl = (BreakTheGlassControl)Page.LoadControl("~/ARISUserControls/BreakTheGlassControl.ascx");
AjaxControlToolkit.ModalPopupExtender breakModal = (AjaxControlToolkit.ModalPopupExtender)btgControl.FindControl("breakModal");
breakTheGlassPanel.Controls.Add(btgControl);//panel in parent page
breakTheGlassPanel.Visible = true;
breakTheGlassPanel.Controls.Add(btgControl);
breakModal.Show();

1 个答案:

答案 0 :(得分:2)

This page可能会对您有所帮助。本质上,它创建了一个普通的面板并将updatePanel放在其中。然后将普通面板用作Extender的PopupControlID属性。