我试图在我的asp.net 3.5解决方案中使用来自不同项目的usercontrol?
我该如何使用它们?什么是参考?
答案 0 :(得分:0)
通常,用户控件设计为在单个项目中使用。这是因为用户控件有两个部分 - 标记(ascx)文件和代码隐藏。如果将项目编译到库中,代码隐藏类将打包在dll中,而不是ascx部分。标记(ascx)包含实际的控制树,因此不能使用用户控制。因此,共享用户控件的一个解决方案是将用户控件的代码编译到库中,并将ascx文件复制到目标项目中。
但更好的解决方案是将用户控件的标记(ascx)打包为库项目的嵌入式资源,然后使用自定义虚拟路径提供程序从资源加载它。请参阅描述此技术的this code-project article。
答案 1 :(得分:0)
当部署到生产过程中时会有各种变化..取决于您的部署首选项。 是的,我同意通常如果你想重新使用,那么应该使用服务器控件/类库,但是在用户控件中实现复杂的UI并且如上所述共享通常更容易和更快。 当重用来自不同的现有Web应用程序的用户控件时也可以工作..只需创建一个指向ascx位置的virt目录并引用app dll(或者只是放入你的BIN)