【问题标题】:How to load a usercontrol(ascx) that is referenced thru dll in my page(aspx)如何在我的页面(aspx)中加载通过 dll 引用的用户控件(ascx)
【发布时间】:2012-07-22 14:05:42
【问题描述】:

我在一个项目中有用户控件,我在另一个项目中添加了它的引用,该项目将有我的 aspx 页面。如何在我的页面中附加控件。我遇到过我们应该使用带有虚拟路径的负载控制方法。但我对虚拟路径一无所知。请帮我解决这个问题。

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案1】:

    如果你想动态加载,那么你应该使用LoadControl

    var c = this.LoadControl("~/AddressControl.ascx");
    this.myPanel.Controls.Add(c);
    

    如果您不想动态加载它,那么您只需在标记中指定控件,而不是其他用户控件:

    <AddressControl runat="server" ID="myControl" />
    

    您的问题是您实际上需要在您的 Web 应用程序或虚拟目录下引用 ASCX 文件。

    您必须将您的 ASCX 文件复制到您的应用程序中,您可以通过配置构建后操作轻松完成该步骤

    看看下面的文章,它详细描述了如何完成这个过程:

    http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx

    这就像一种解决方法,因为用户控件并非旨在跨项目共享,最适合您的情况的控件称为服务器控件,它们就是为此目的而设计的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2013-10-30
      • 2018-09-08
      相关资源
      最近更新 更多