猪八戒学做网站

发现问题,提出问题,解决问题

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

 


 

本文目的:

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

 


 

 

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

 

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

 

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

 

    解释一下上面的代码。

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

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

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

 

    tagprefix值是一个自定义的值,是与命名空间关联的别名。这个别名在后面的代码中可以看到,如下所示。

 

    在以上代码中,“cc1”,也就是“YundaoControls”程序集的“YundaoControls”命名空间的别名,而这个命名空间下有可能会有多个自定义控件,要区别是哪个自定义控件,就在以上代码中cc1:后面的值来决定了。在以上代码中“cc1:yundaoTextBox”,说明这个自定义控件是“YundaoControls”程序集的“YundaoControls”命名空间的“yundaoTextBox”自定义控件。

    如果添加多个“yundaoTextBox”自定义控件,只要指定不同的ID值即可,如以下代码所示。

 

    刚才说过的,同一个命名空间下有可能会有多个自定义控件,那么,我们也只要指定一次别名,而无需多次指定。在前面,除了我们自定义的“yundaoTextBox”控件之外,VS还给我们自动生成了一个“ServerControl1”自定义控件,我们也可以把这个自定义控件加进来,如以下代码所示。

 

    从以上代码中我们可以看到,“ServerControl1”自定义控件,使用的也是“cc1”的别名。

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

原创不容易,转载请注明出处:http://hi.csdn.net/smallfools

相关链接:

  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)的解决方法

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

阅读更多
个人分类: asp.net
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭