试图在同一个解决方案中使用来自不同项目的用户控件?

时间:2011-10-17 03:33:31

标签: asp.net c#-3.0

我试图在我的asp.net 3.5解决方案中使用来自不同项目的usercontrol?

我该如何使用它们?什么是参考?

2 个答案:

答案 0 :(得分:0)

通常,用户控件设计为在单个项目中使用。这是因为用户控件有两个部分 - 标记(ascx)文件和代码隐藏。如果将项目编译到库中,代码隐藏类将打包在dll中,而不是ascx部分。标记(ascx)包含实际的控制树,因此不能使用用户控制。因此,共享用户控件的一个解决方案是将用户控件的代码编译到库中,并将ascx文件复制到目标项目中。

但更好的解决方案是将用户控件的标记(ascx)打包为库项目的嵌入式资源,然后使用自定义虚拟路径提供程序从资源加载它。请参阅描述此技术的this code-project article

答案 1 :(得分:0)

我这样做的一种方法是拥有一个  1.具有共享用户控件的Web应用程序项目,  2.然后由需要使用控件的其他Web应用程序项目引用  3.对于使用控件的每个应用程序/网站,创建一个指向ascx位置的virt目录,以便它们可以包含在您的页面中

当部署到生产过程中时会有各种变化..取决于您的部署首选项。 是的,我同意通常如果你想重新使用,那么应该使用服务器控件/类库,但是在用户控件中实现复杂的UI并且如上所述共享通常更容易和更快。 当重用来自不同的现有Web应用程序的用户控件时也可以工作..只需创建一个指向ascx位置的virt目录并引用app dll(或者只是放入你的BIN)

相关问题