1

在我的 C:\ 目录中,我有两个文件夹 C:\Twin1 和 C:\Twin2

Twin1 包含一个文件夹 UserControl,并包含一个文件 myControl1.ascx。所以路径看起来像这样:

C:\Twin1\UserControl\myControl1.ascx

Twin 2 包含类似的结构,但带有 myControl2.ascx。所以路径看起来像这样:

C:\Twin2\UserControl\myControl2.ascx

我在 Twin1 中有一个 aspx 文件。

C:\Twin1\myPage.aspx

在 myPage.aspx 中包含 myControl1.ascs,我相信我需要做的就是:

<%@ Register Src = "~/UserControl/myControl1.ascx" TagName = "myTag" TagPrefix = "tp1" %>

但我不确定如何将 myControl2 包含到 myPage.aspx

4

2 回答 2

1

恐怕你需要复制C:\Twin2\UserControl\myControl2.ascxC:\Twin1\UserControl\myControl2.ascx

如果你想重用用户控件,你需要创建一个控件库。不幸的是,用户控件并不是很适合在不同的项目之间重用,尽管这是完全可能的。

于 2012-10-16T14:56:54.727 回答
0

你不能直接(我不认为)。

您需要构建twin2,并将twin2.dll的 bin 目录twin1mycontrol2.ascxuserControl目录中的twin1

然后,您可以mycontrol2.ascx以通常的方式添加,项目将引用该twin2.dll控件的代码隐藏。

如果您随后需要对 进行代码更改twin2,则需要打开该项目,编辑并重建 dll。

如果它们将成为您的站点之间的通用组件,则可能值得单独设置一个“userControl”项目,然后根据需要复制.dll.ascx文件。

编辑:为了使控件更容易像上面那样移动,您可以查看serverControls,其中输出全部手动编写在代码隐藏中,这样您只需将.dll文件包含在bin任何其他项目的目录中。

于 2012-10-16T14:57:10.767 回答