1

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

4

1 回答 1

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

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

于 2012-07-22T14:12:44.250 回答