【问题标题】:Asp.Net: Dynamically switching UserControl - How?Asp.Net:动态切换 UserControl - 如何?
【发布时间】:2009-12-19 00:14:40
【问题描述】:

在 Asp.Net 中是否可以动态切换加载 .aspx 页面的用户控件。

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

谢谢 融化

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案1】:

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

    【讨论】:

      【解决方案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 控件。

      【讨论】:

      • 非常感谢这个有效的解决方案,非常感谢 Melt
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 2022-09-23
      • 2023-03-11
      相关资源
      最近更新 更多