本文目的:

在网页中添加已创建的自定义控件





    接上文《​​在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中​​》,在工具箱中添加自定义控件之后,我们就可以像使用服务器控件一样,直接拖到网页中使用了。如下图所示。


在VS2008中创建自定义控件(三)在网页中添加自定义控件_assembly

    从上图中可以看出,我们的自定义控件从外观上看起来,和TextBox服务器控件没有什么区别。事实上,在使用起来也没有什么区别,我们也可以设置它的属性,如下图所示。

在VS2008中创建自定义控件(三)在网页中添加自定义控件_assembly_02


    从上图的属性看起来,我们的自定义控件和TextBox控件没有什么区别,这是因为我们的自定义控件继承了TextBox对象的所有方法和属性,并且没有加入其他功能代码,因此,在使用上和TextBox控件是完全相同的。只是在源代码中可以看出这个控件是自定义控件,如下图所示。

在VS2008中创建自定义控件(三)在网页中添加自定义控件_textbox_03

在VS2008中创建自定义控件(三)在网页中添加自定义控件_html_04

    解释一下上面的代码。

    “<%@ Register assembly="YundaoControls" namespace="YundaoControls" tagprefix="cc1" %>”,在这句代码中,@Register 指令可以将别名与命名空间和类名关联起来。其中,assembly用于指定程序集,namespace用于指定命名空间,tagprefix用于指定与命名空间关联的别名。

    我们可以把以上代码对应到前面的程序中,assembly的值,也就是我们创建的自定义项目的名称,如下图所示。


    而namespace的值,就是自定义控件的命名空间的值,如下图所示。


在VS2008中创建自定义控件(三)在网页中添加自定义控件_textbox_05

    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”的别名。


===================================================================


相关链接:

  1. ​在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目​
  2. ​在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中​
  3. ​在VS2008中创建自定义控件(三)在网页中添加自定义控件​
  4. ​在VS2008中创建自定义控件(四)为自定义控件添加默认值​
  5. ​在VS2008中创建自定义控件(五)修改tagprefix​
  6. ​在VS2008中创建自定义控件(六)创建完全自定义控件​
  7. ​在VS2008中创建自定义控件(七)自定义控件的中常用到的特性​
  8. ​在VS2008中创建自定义控件(八)输出HTML代码​
  9. ​在VS2008中创建自定义控件(九)添加属性​
  10. ​在VS2008中创建自定义控件(十)添加枚举型属性​
  11. ​在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)​
  12. ​在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)​
  13. ​在VS2008中创建自定义控件(十三)添加内镶属性​
  14. ​在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级​
  15. ​在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法​

===================================================================