日期:2010-04-03 浏览次数:20709 次
在ASP的年代里,为了避免经常性重复的劳动,对一些功能相似的区域或者代码,经常作成一个文件,然后通过连接(直接连接或者虚拟连接)的方法引入到ASP网页文件之中,对于一个很大的引用了很多ASP文件就相当于一个文件被分成了很多块,彼此文件之间的数据是可以自由共享的(除了函数之中的数据).
ASPX的用户控件就与INCLUDE有很大的不同了,它的最大特点就是在于他是以包装好的对象的形式呈现,通过我们的编程,可以将一个公用的事例抽象出来,将一些功能和方法总结出来,作成相应的函数和属性供外部的事件调用,实现完全的类化,最大程度的封装外层用户不需要了解的内部事实,使得其更加具有可维护性,也提高了数据的安全性,更利于程序的发布.
简单的东西好用,但自然也功能比较少,或者是很不完善的,我们可以自由的将某个文件的包含到指定的ASP文件之中,但是,由于彼此的数据是可以共享的,所以导致,文件的相互依赖性很高,降低了代码可读性,不利于系统的维护,同时,如果被INCLUDE的文件中如果有一个图片,并且被包含的文件与需要包含文件的文件不在同一个目录之下时,被包含的文件的图片的地址必须以需要包含文件的文件中能显示图片的地址为准,如/FILE/INDEX.ASP是主文件(需要包含文件的文件),而/FILE/INCLUDE/TITLE.ASP是被包含文件,而图片地址为/file/title.jpg此时就需要将TITLE.ASP中的图片地址改为title.jpg而不是../title.jpg,否则将无法在主文件中显示图片,超级链接也是同样的问题.
复杂的ASPX固然解决了很多的问题,如能够在控件文件中自由的设置图片的地址,无须理会引用他的文件在什么目录之下,只要在控件文件中能显示出来的东西,被引用之后依然可以被使用,这使得用户制作的控件具有更多的可重用性,而不象ASP中,对于不同目录下的文件引用相同功能的文件时需要设置两个事实上相同但是图片或者超级链接的地址不同的文件.浪费资源,也使得维护费用更高.当然这些优点也使得文件编写起来也比较麻烦,对于分析上要求有更高的归纳能力,使得控件能更广泛的使用.