当前页面位置: » 丰搜网 » 文档中心 » 详细内容
在asp.net中创建自定义控件初步
假如你有大量的asp.net页面,在其中你会要求访问者选择一个邮政编码。然后,基于这个邮编,显示与之相关的城市和省份。这项功能可以通过一个包含邮政编码的dropdownlist控件来组织,或者可以通过一个textbox控件来用于输入邮政编码。无论使用哪一种方式,只要访问者选取或者输入了一个邮政编码,你就需要将相应的城市和省份放在label控件中显示出来,有没有其它的方法可以实现此功能呢?
当然有,你可以自定义一个控件来实现。你可以创建一个包含相关的这些基本控件的自定义控件。然后通过设定该控件的属性值,可用来得到相关的邮政编码及其它信息。
这次要在这个asp.net页面注册一个简单的用户自定义控件,然后以代码的方式和在asp.net页面表单内定义的方式定义一个这样的控件。在这个asp.net页面的顶端,你需要注册这个控件:
<%
@register
tagprefix="my"
tagname="my_controls"
src="../mycontrols.ascx"
%>
其中tagprefix可以设置为任何你想要有代码中定义你的控件所用的名字,在定义控件时,这个属性和tagname属性一起使用,从而指出你正在创建一个这样的控件类型。src属性用来设定自定义控件的文件所在的位置。
进行这样的定义之后,你就可以在代码中定义自己的控件了。如:
<my:my_controls
id="my_controls_1"
runat="server"
/>
其中,my:my_controls标记名称就是在注册(register)标记中设定的tagprefix和tagname属性的组合。之后,你可以为这个自定义控件提供一个名字,并指出该控件应该在服务器上执行。如果这个控件具有一些可写的属性的话,你可以在控件的定义中设置这些属性。如果控件有一个numlines属性的话,就可以这样来设置它:
<my:my_controls
id="my_controls_1"
numlines = 5
runat="server"
/>
或者也可以像下面这样在代码中进行设置:
my_controls_1.numlines=5
在代码中自动将一个自定义控件实例化并添加到页面中,与标准控件的实例化过程没有太大的区别。具体如下:
dim mycontrol as usercontrol = loadcontrol("../mycontrols.ascx")
myform.controls.add(mycotrol)
你将其中的变量标为一个usercontrol(自定义控件)数据类型。同时,在同一代码行上使用了loadcontrol方法,并将你的控件定义文件的路径传给这个方法。之后,你就具有一个自定义控件的实例化变量。然后,就可以像添加任何其他的控件那样将其添加到页面中。
出处:
责任编辑:幻想曲
上一页 下一页 向自定义控件中添加控件
◎进入论坛网络编程版块参加讨论
| 常见 datagrid 错误 asp.net中的datagrid控件初步 如何使用 .net 的treeview控件 | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | 创新设计 百万格子大楼 | | | discuz!转换系列教程 | | | 世界杯足球的32个变种 | | | 易上手简单图层样式扣图 | | | 一封写给mm学习linux的信 | | | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | discuz!转换系列教程 | | | 易上手简单图层样式扣图 | | | 十分钟学会 xajax | | | css 菜单举一反三 | | | 利用照片制作版画简明教程 | | | | | >> 分页 首页 前页 后页 尾页 页次:1/4页 1个记录/页 转到 页 共4个记录 蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。 特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有 | | | |
| 关于站点 免责声明 联系站长 版权隐私 友情链接 网站地图 京icp备05002321号 | ©1999-2006 blueidea.com. 版权所有 | |