asp.net - 如何在站点之间共享用户控件/功能?

标签 asp.net telerik shared-libraries episerver

我们有两个 asp.net 站点(基于 episerver)。
使用 Telerik Asp.net 控件。
我们有一些我们希望在两个网站上都可用的功能。
现在其中一个网站使用 webparts/usercontrols,另一个使用 usercontrols。

有没有办法在这些网站之间共享功能?
我想要的是能够在站点之间共享用户控件。

最佳答案

既然你在谈论用户控件,我假设你也有作为用户控件一部分的 .ascx 文件,这使得这很棘手。

我想理想的解决方案是将所有内容都移动到服务器控件中,这样您就可以只引用程序集,但是如果您从其他使用 .ascx 文件的控件继承,您就只能使用它们了。

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

另一个技术上更复杂的选项,但可能是一种“更好”的处理方式是使用 Virtual Path Provider为您完成工作。 Here是一篇讨论使用虚拟路径提供程序来完成您想做的事情的文章。

关于asp.net - 如何在站点之间共享用户控件/功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905770/

相关文章:

c# - 来自 Microsoft.VisualStudio.TestTools.UnitTesting 的 QueueBackgroundWorkItem

c# - 如何在代码隐藏中获取使用Raduploader动态创建的文本框的值?

javascript - 在窗口中获取第一个可见的 iFrame 并打印它

c - 为什么我不能用 LD_PRELOAD 在 bash 中拦截 write(2)?

linux - 为什么Docker容器找不到共享库?

c++ - 在 R 中使用外部共享库

jquery - Flexslider 未显示在 IndexPage 上

c# - 第一次打开应用程序时应用程序变慢

asp.net - 如何仅针对特定页面类型使 http 模块发生火灾事件

javascript - 使用 javascript 选择项目时如何从 radcomboboxitem 获取自定义属性值