首页 / 知识
在不同网站应用程序之间共享ASP.NET .ascx控件的最佳方法?
2023-04-13 05:42:00

Best way to share ASP.NET .ascx controls across different website applications?假设您在IIS中有2个不同的ASP.NET应用程序。 另外,您还有一些ASCX控件要在这两个应用程序之间共享。 创建"用户控件库"的最佳方法是什么,以便无需重复代码即可在2个应用程序中使用相同的控件实现? 控件的ASCX后面带有HTML +代码。 复合控件将很困难,因为我们与使用ASCX文件中的HTML语法来设计控件样式的设计人员一起工作。 Tundey,我们在这里使用SVN。 您是否有实施建议的示例? SVN如何共享ASP.NET控件? 谢谢! 关于如何设置用户控件库项目,然后使用预生成事件将用户控件复制到多个项目中,Scott Guthrie提出了一些很好的建议。它真的很好。 http://webproject.scottgu.com/CSharp/usercontrols/usercontrols.aspx 如果您希望能够在单独的项目中使用它们,则需要创建复合控件而不是.ASCX控件。 看看这个:http://www.codeproject.com/KB/aspnet/ASP2UserControlLibrary.aspx?msg=1782921 除了Tundey所说的以外,NTFS Link Shell扩展对于在其他独立项目之间共享大量内容(例如,带有.ascx / .aspx的文件夹)时也很有帮助。对于代码,我认为最好从VCS制作另一个工作副本。 为此,我首先牺牲了一些易于构建控件的便利性。 您可以创建一个控制库项目,该项目将为您生成一个控制库DLL。缺点是您只能使用代码创建控件。在我的上一个项目中,这很好。在更复杂的控件中,这可能是一个问题。 这是一个例子:
您在该Text属性中放置的所有内容都将被呈现。 然后,您在此处放置的任何控件都可以像您使用的任何其他控件一样起作用。只需将其导入到"工具箱"中,进行注册参考,然后将其放入ASP页面即可。 一种替代方法是使用源代码控制工具在Web应用程序之间"共享" ASCX控件。这样,您就可以在两个应用程序中的控件上进行更改,并让源代码控件确保这些更改反映在我们的Web应用程序中。 我有一个建议.WE可以像往常一样通过在网站项目内部创建用户控件来跨多个应用程序使用用户控件。然后更改网站属性使用固定命名和单页程序集。然后我们可以将用户控件dll用于多个应用程序。 我最近做了一个Web应用程序,该应用程序仅引用了一个Web应用程序(aspx,master和ascx)中的文件(总共约90个),没有太大的问题。也就是说,我使用的是MVP模式的重大修改版本,许多接口和约定来降低复杂性,同一中间层和一个站点是另一个站点的子集。 大问题: 要使其正常工作,我承受着巨大的时间压力,现在两个应用程序都已投入生产。我不推荐使用,但如果您有兴趣,请从以下位置开始:
我注意到ASP.Net中控件的最大问题是,一旦构建控件,就无法轻松获得设计人员对构建控件以及在站点中使用控件的支持。我能够做到的唯一方法是创建一个没有代码隐藏的.ascx控件(即:所有服务器端代码都位于.ascx文件中的脚本标签中,具有runat =" server"属性) 。 但是即使那样,您仍然仍然必须复制.ascx文件,因此,如果需要进行更改,则意味着在使用该文件的每个位置都进行了更新。是的,请确保它在源代码控制中。 我在这里使用StarTeam,它允许您跨多个文件夹"共享"对象(文件,更改请求,需求等)。不确定Subversion(SVN)是否具有该功能。如果没有,则可以使用另一个技巧:创建从控件的主要位置到其他项目中某个位置的连接。联结就像Unix符号链接一样。您可以从此处下载用于在Windows中创建联结的工具 |
最新内容
相关内容
python的调用绑定方法和非绑定方法
python的调用绑定方法和非绑定方法,代码,方法,实例,第一,培训,时计,奇数,偶数,参数,定义,在Python中,如果用实例去调用方法,这种限制就被称为PyPython网络编程调用接收数据的三种
Python网络编程调用接收数据的三种方法,数据,代码,基础,通用,通讯,服务,网络,培训,方法,报文,最近在使用python进行网络编程开发一个通用的tcPython 之模块重载的五种方法
Python 之模块重载的五种方法,环境,培训,方法,模块,文件夹,例子,下面,内容,语句,请看,python环境准备新建一个foo文件夹,其下包含一个bar.py文Python文件读取相关方法
Python文件读取相关方法,数据,位置,文件,中行,培训,方法,字节,内容,结果,字符串,我们知道,对文件的读取操作需要将文件中的数据加载到内存中,而Python 多线程死锁问题的巧妙解决
Python 多线程死锁问题的巧妙解决方法,异常,持有,代码,情况,信息,管理,数据,包装,策略,预期,死锁死锁的原理非常简单,用一句话就可以描述完。列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_使用Python执行系统命令方法
使用Python执行系统命令方法,系统,信息,培训,标准,命令,方法,模块,操作,终端,中文,Python是一款操作简单的编程语言,内置丰富的库,能够很容易的Python 类的私有属性和方法
Python 类的私有属性和方法,私有化,培训,开头,变量,函数,模块,属性,目的,方法,更多,在Python中,通过单下划线”_”来实现模块级别的私有化,一般python 粘包解决方法
python 粘包解决方法,数据,数字,网络,报头,培训,长度,字节,内容,格式,详细信息,问题的根源在于,接收端不知道发送端将要传送的字节流的长度,所python中实现字符与ascll码相互转
python中实现字符与ascll码相互转换方法,代码,培训,字符,函数,方法,实例,字符串,本文,以上,更多,在编程中,我们常常会给代码加密。如果是进行python中求最大公约数的三种方法
python中求最大公约数的三种方法,代码,数字,工作,培训,公约数,余数,整数,约数,算法,方法,在计算机编程中,代码中会显示出很多的数学算法,数学算python获取当前时间日期有哪些方法
python获取当前时间日期有哪些方法?,时间,标准,星期六,培训,日期,微秒,结果,模块,星期,格式,获取到时间也是我们在学习python遇到的常见问题,