我非常熟悉以编程方式加载用户控件,但是我想使用web.config中设置的引用而不是页面上的<%@ Reference %>
声明。
<pages>
<controls>
<add tagPrefix="uc" tagName="Menu" src="~/App_Controls/MainMenu.ascx" />...
如何使用web.config参考以编程方式在我的页面上加载此控件,而不是路径或注册声明。
Control uc = (Control)Page.LoadControl("~/usercontrol/WebUserControl1.ascx");
plhStatCounts.Controls.Add(uc);
由于
答案 0 :(得分:1)
您可以从web.config加载PagesSection,然后访问其Controls集合。
例如:
// Open the config
Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("");
// Retrieve the section
PagesSection pages = (PagesSection)webConfig.GetSection("system.web/pages");
// Find the control you are interested in, then load it
for (int i = 0; i < pages.Controls.Count; i++)
{
}