【发布时间】:2009-12-19 00:14:40
【问题描述】:
在 Asp.Net 中是否可以动态切换加载 .aspx 页面的用户控件。
根据新闻报道的类型,我想切换加载哪个控件。
谢谢 融化
【问题讨论】:
标签: c# asp.net user-controls
在 Asp.Net 中是否可以动态切换加载 .aspx 页面的用户控件。
根据新闻报道的类型,我想切换加载哪个控件。
谢谢 融化
【问题讨论】:
标签: c# asp.net user-controls
在您的页面和代码隐藏文件中放置一个占位符,在 if/then/else 或 switch/case 逻辑方法上加载控件。这是我看到实现的最简单的方式。
【讨论】:
使用 LoadControl(),它是 Page 类的一个实例方法。然后只需将其添加到容器的 Controls 集合中即可。
if (mytype=="news")
{
//load the required usercontol
ph.Controls.Add(LoadControl("~/usercontrols/news.ascx"));
}
else
{
ph.Controls.Add(LoadControl("~/usercontrols/somethingelse.ascx"));
}
“ph”是一个 asp:PlaceHolder 控件。
【讨论】: