-1

我有一个加载用户控件的功能,它看起来像这样:

private void AddPopupControlToPage()
    {
        WidgetConfiguration popupControl = new WidgetConfiguration();
        popupControl = (WidgetConfiguration)LoadControl("~/Docking/Widgets/WidgetConfiguration.ascx");
        popupControl.ID = "PopupControlInput1";
        g_PopupControlId = popupControl.ClientID;
        popupControl.Attributes.Add("width", "150px");
        Form.Controls.Add(popupControl);
    }

我有下拉菜单,允许我根据选择的模板更改页面布局。我应该能够从任何模板(页面)按调用弹出控件。根据我在此处阅读的内容 http://msdn.microsoft.com/en-us/library/ms178472.aspx 我应该能够在 Page_PreInit 事件中加载我的控件,但是此时未加载表单并且我得到一个空引用错误。关于我应该如何/在哪里加载弹出控件并将其保留在任何选定页面上的任何想法?

4

1 回答 1

2

您应该加载一个始终覆盖 CreateChildControls 方法的控件

有点像

protected override void CreateChildControls()
    {
        base.CreateChildControls();
        //now load your control here
    }
于 2012-07-31T22:50:15.057 回答