2010-05-25 90 views
3

我们有两个asp.net站点(基于episerver)。
使用Telerik Asp.net控件。
我们有一些功能,我们希望在这两个站点都可用。
现在,其中一个网站使用webparts/usercontrols,另一个使用usercontrols。如何在网站之间共享用户控件/功能?

有没有什么办法来分享这些网站之间的功能?
我希望能够在这些网站之间共享用户控件。

回答

3

因为你谈论我假设你的用户控件也有是用户控件,这使得这个棘手的部分.ascx文件。我想理想的解决方案是将所有东西都移动到服务器控件中,这样你就可以引用程序集,但是如果你从其他控件使用.ascx文件继承,那么你就会陷入它们之中。把它处理

一种方法是使用连接在Visual Studio功能的文件(添加现有文件,单击向下箭头,选择连接选项)共享同一个解决方案中的项目之间的相同物理文件。这并不理想,因为您必须确保在部署之前将ascx文件复制到两个站点(我之前已经使用后构建脚本完成了它),但仍然有很多仍然非常脆弱。

另一种技术上比较复杂的选择,但可能是一种“更好”的处理方式,那就是使用Virtual Path Provider来为你完成工作。 Here是一篇文章,讨论如何使用虚拟路径提供者来做你想做的事情。

+0

叶普我有ascx文件我会看看你建议的链接。 我确实知道服务器控制选项,但我宁愿使用ascx文件。 谢谢 – 2010-05-26 07:30:29

2

启动一个新的类库项目,在您的站点项目中引用该项目,然后将常用控件和代码拖出到库项目中。

+0

但这并不包括ascx文件对不对? – 2010-05-26 07:31:15

0

提到的一样,你可以将文件放在一个目录VPP在生活环境和方式只需要ASCX-文件复制到一个文件夹中的两个站点代码盈更新。虽然代码隐藏更新将需要为两个站点构建和覆盖的DLL。

如果你在你的开发环境中使用SVN你也可以设置一个svn:从项目的一个外部链接的文件夹和方式只有代码和它的修订历史记录在一个存储库中。