本文目的:
在网页中添加自定义控件时不再显示如“cc1”、“cc2”等别名,而是显示事先约定好的别名。
在《在VS2008中创建自定义控件(三)在网页中添加自定义控件》介绍过,将自定义控件拖到网页中时,VS会自动添加@Register 指令将别名与命名空间和类名关联起来。对于开发者来说,这很方便,可是在默认情况下,VS会将别名添加成“cc1”、“cc2”等别名,而这些别名既不好看,又不规范。那么我们可不可以指定别名呢?
答案是肯定的,我们只要打开自定义控件的cs文件,然后在命名空间上加上以下即可。
[assembly: TagPrefix("YundaoControls", "myControls")]
为了更直观地理解以上代码,我截了个图如下所示。
如上图所示,我们在“ServerControl1.cs”文件中添加了一行“[assembly: TagPrefix("YundaoControls", "myControls")]”代码,其中,“YundaoControls”是命名空间,与cs文件中的命名空间相同,而“myControls”就是指定的别名。
下面,我们删除原来的Default.aspx文件,再添加一个同名文件。然后在设计视图中将“yundaoTextBox”自定义控件拖入到Default.aspx文件中。此时,Default.aspx文件的源代码已经改变,如下图所示。
从上图中可以看出,@Register指令中的tagprefix的属性值变成了自定义的“myControls”,并且,自定义控件中的引用也改变了。
细心的朋友可能已经发现,虽然我们是在“ServerControl1.cs”文件中添加的[assembly]代码,可是在使用yundaoTextBox自定义控件时,这行代码同样生效。
===================================================================
原创不容易,转载请注明出处:http://hi.csdn.net/smallfools
相关链接:
===================================================================
本例的源代码可以在http://download.csdn.net/source/2415151中下载