文档介绍:上海电力学院计算机新技术及应用论文题目:Usercontrols简介与应用姓名:学号:班级:院系:专业:计算机科学与技术2012年12月9日2012计算机新技术及应用?第2页摘要当我们需要在多个地方使用一组控件的一些常用功能时,我们可以考虑采用自己的usercontrols。Usercontrols可以将一系列控件的多种功能打包在一起,方便我们在各个网站的编写中重复调用。通过usercontrols可以实现多个页面对数据的重调用,能够实现无刷新的页面间导航等功能,在现行的网站设计中usercontrols有着其强大的用户可操作性,能够提供个性化的控件封装包,帮助实现多种网页功能。关键字Usercontrol、自定义、封装控件、方便快捷、重调用、无刷新Usercontrol的背景及简介让我们想象这样一个场景,我们可能需要将一些数据表示在UI上,我们需要将这些数据在多个布局外观不同的页面上进行表示,而这些页面上不同位置需要显示的数据可能有所区别。在这样的情况下我们可以选用usercontrol吗?答案是肯定的。为了在页面布局中灵活的运用这些控件实现数据的重用,我们需要做的就是建成一个usercontrol的模板。Usercontrol模板内封装了我们需要的数据,模板的各种实例可以在自定义页面布局中提供灵活的数据支持。有时usercontrol也能提供我们自定义的默认显示方式。如何实现usercontrol的使用Usercontrol是一种简单的自定义控件,网页一样简单,使用visualstudio的工具箱对其进行设计,在后台代码中对控件的属性和实现方法进行定义。页面中了,使用时只需调用共有成员的输入输出操作即可。所有的内部操作都被封装在控件中,对外部是不可见的。右击项目图标——》添加新项——》在选择模板时选择“Web用户控件”。给其一有意义的名称,注意到该文件的后缀是“ascx”,而一般的Web窗体的后缀是“aspx”。新创建的文件源代码中仅有一行:<%***@ControlLanguage="C#"AutoEventWireup="true"CodeFile=""Inherits="WebControls_Address"%>这里用的是Control指令,而不是Page指令。后台类的代码如下:usingSystem;2012计算机新技术及应用?;;;;;;;;;publicpartialclassWebControls_Address:{protectedvoidPage_Load(objectsender,EventArgse){}}自定义控件以WebControls_做前缀命名(后面的Address是我们给出的文件名,或可认为是控件的名称)。。在设计视图中设计用户控件:用户控件一般是一些常规控件的有意义组合,或是对常规控件应用一些格式化(如应用css或Theme)。所以在设计视图中,可使用HTML控件或服务端控件进行一些组合。在Web窗体设计中使用用户控件:工具箱中的控件我们可方便的拖拽到设计视图或源码中,但自定义的用户控件不会出现在工具箱中,(非其他视图,一定是设计视图)。之后看Web窗体的源码,其中多出了两行代码:<%***@RegisterSrc="WebControls/"TagName="Address"TagPrefix="uc1"%>这是首部多出的注册指令,Src指出自定义用户控件的位置。TagName指出用户控件的名字。TagPrefix指出该控件的tag前缀,这里是"uc1",很容易猜想另一个自定义用户控件类的前缀可能为“uc2”。如果自定义用户控件被多个页面使用,为避免在每个页面中注册该控件,可以在配置文件中全局注册如:<?xmlversion=""?><configuration><>..........<pages><controls><addtagPrefix="UCHeader"src="~/Controls/