如何在2个Web应用程序之间重用usercontrol

时间:2011-04-08 19:00:26

标签: asp.net user-controls .net-4.0

我会尽力解释我真正想要在这里做的事情。但必须说我是法国人,解释起来有点棘手。

方案
我们正在为不同的公司开发许多Web应用程序。我们很快就注意到,在两个站点之间,我们制作的很多东西经常出现,所以我们希望将部分前端封装到UserControl中,以便它可以重复使用(在相同的情况下花费更少的时间;时间就是金钱!)< / p>

问题
我们遇到的问题是我们总是要复制UserControl可以拥有的所有东西(图像,css,js等)。此外,每次修改都很难记住;

  • 好的,我已在用户控件中更改了一些内容,因此,我必须在此用户控件的每个实例中将其更改为使用它的所有网站(并且在完全正确的行中)” 。

因此,对我们来说最好的解决方案是创建一个ASP.net服务器控件库。至少我们以为......

问题
所以,我们尝试了这个,我们很快就到了墙的底部。我们怎么做?我的意思是,没有设计模式。如果您想要更改文本框的行为方式或按钮,则可以。但是,当你创建一些真正的自定义但可重用的东西时。比如,例如,日期选择器,有5个下拉菜单(月,日年小时分钟)?

谢谢!

3 个答案:

答案 0 :(得分:2)

简而言之,除了复制+粘贴之外,您无法跨应用程序重复使用用户控件。如果要重用控件,则需要使用编译到库中的服务器控件。

答案 1 :(得分:2)

您对部署/维护疼痛或设计疼痛更敏感吗?为了便于部署和分发,我要说切换到服务器控件。然后它成为一个标准的程序集部署问题,你会得到很多相对无痛的选择。

如果牺牲GUI设计的难易程度是不可接受的,那么你就会陷入执行你所描述的内容并使用某种机制在所有使用它的网站上复制/粘贴标记,或严重侵入资源或其他内联存储库,用于将标记存储在程序集中,并在运行时将标记注入控件,以实现准服务器控制行为。除非你真的真的需要,否则我不建议你去后一条路线。

答案 2 :(得分:2)

您可以通过应用小技巧在多个Web应用程序中重用用户控件。查看此文章http://msdn.microsoft.com/en-us/library/aa479318.aspx