Asp.Net:动态切换UserControl - 如何?

时间:2009-12-18 16:03:49

标签: c# asp.net user-controls

在Asp.Net中,可以动态切换使用.aspx页面加载哪个用户控件。

根据新闻故事的类型,我想切换哪个控件加载。

由于 熔体

2 个答案:

答案 0 :(得分:3)

在页面和代码隐藏文件中放置占位符,在if / then / else或switch / case逻辑方法上加载控件。这是我看到实施的最简单方法。

答案 1 :(得分:2)

使用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控件。