从顶级目录包含控件

时间:2012-10-16 14:47:06

标签: asp.net

在我的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

2 个答案:

答案 0 :(得分:1)

我担心您需要将C:\Twin2\UserControl\myControl2.ascx复制到C:\Twin1\UserControl\myControl2.ascx

如果要重用用户控件,则需要创建控件库。不幸的用户控制并不适合在不同项目中重复使用,尽管完全有可能。

答案 1 :(得分:0)

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

您需要构建twin2,并将twin2.dll放在twin1的bin目录中,并将mycontrol2.ascx放在userControl目录{ {1}}

然后,您可以按常规方式添加twin1,项目将引用mycontrol2.ascx作为该控件的代码隐藏。

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

如果它们将成为您网站之间的通用组件,则可能值得设置一个&#34; userControl&#34;单独进行项目,然后根据需要复制twin2.dll文件。

编辑: 为了使控件更容易像上面那样移动,你可以查看.ascx,其中输出都是在代码隐藏中手动编写的,这样你只需要在{{1}中包含serverControls文件任何其他项目的目录。