本文目的:
在网页中添加已创建的自定义控件
接上文《在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中》,在工具箱中添加自定义控件之后,我们就可以像使用服务器控件一样,直接拖到网页中使用了。如下图所示。
从上图中可以看出,我们的自定义控件从外观上看起来,和TextBox服务器控件没有什么区别。事实上,在使用起来也没有什么区别,我们也可以设置它的属性,如下图所示。
从上图的属性看起来,我们的自定义控件和TextBox控件没有什么区别,这是因为我们的自定义控件继承了TextBox对象的所有方法和属性,并且没有加入其他功能代码,因此,在使用上和TextBox控件是完全相同的。只是在源代码中可以看出这个控件是自定义控件,如下图所示。
解释一下上面的代码。
“<%@ Register assembly="YundaoControls" namespace="YundaoControls" tagprefix="cc1" %>”,在这句代码中,@Register 指令可以将别名与命名空间和类名关联起来。其中,assembly用于指定程序集,namespace用于指定命名空间,tagprefix用于指定与命名空间关联的别名。
我们可以把以上代码对应到前面的程序中,assembly的值,也就是我们创建的自定义项目的名称,如下图所示。
而namespace的值,就是自定义控件的命名空间的值,如下图所示。
tagprefix值是一个自定义的值,是与命名空间关联的别名。这个别名在后面的代码中可以看到,如下所示。
[c-sharp] view plain copy
<cc1:yundaoTextBox ID="yundaoTextBox1" runat="server"></cc1:yundaoTextBox>
在以上代码中,“cc1”,也就是“YundaoControls”程序集的“YundaoControls”命名空间的别名,而这个命名空间下有可能会有多个自定义控件,要区别是哪个自定义控件,就在以上代码中cc1:后面的值来决定了。在以上代码中“cc1:yundaoTextBox”,说明这个自定义控件是“YundaoControls”程序集的“YundaoControls”命名空间的“yundaoTextBox”自定义控件。
如果添加多个“yundaoTextBox”自定义控件,只要指定不同的ID值即可,如以下代码所示。
[c-sharp]
view plain
copy
1. <cc1:yundaoTextBox ID="yundaoTextBox1" runat="server"></cc1:yundaoTextBox>
2. <cc1:yundaoTextBox ID="yundaoTextBox2" runat="server"></cc1:yundaoTextBox>
刚才说过的,同一个命名空间下有可能会有多个自定义控件,那么,我们也只要指定一次别名,而无需多次指定。在前面,除了我们自定义的“yundaoTextBox”控件之外,VS还给我们自动生成了一个“ServerControl1”自定义控件,我们也可以把这个自定义控件加进来,如以下代码所示。
[c-sharp]
view plain
copy
1. <cc1:yundaoTextBox ID="yundaoTextBox1" runat="server"></cc1:yundaoTextBox>
2. <cc1:yundaoTextBox ID="yundaoTextBox2" runat="server"></cc1:yundaoTextBox>
3. <cc1:ServerControl1 ID="ServerControl1" runat="server" />
从以上代码中我们可以看到,“ServerControl1”自定义控件,使用的也是“cc1”的别名。
===================================================================
相关链接:
- 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
- 在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中
- 在VS2008中创建自定义控件(三)在网页中添加自定义控件
- 在VS2008中创建自定义控件(四)为自定义控件添加默认值
- 在VS2008中创建自定义控件(五)修改tagprefix
- 在VS2008中创建自定义控件(六)创建完全自定义控件
- 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性
- 在VS2008中创建自定义控件(八)输出HTML代码
- 在VS2008中创建自定义控件(九)添加属性
- 在VS2008中创建自定义控件(十)添加枚举型属性
- 在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)
- 在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)
- 在VS2008中创建自定义控件(十三)添加内镶属性
- 在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级
- 在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法
===================================================================