软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 在ASP.NET中创建自定义控件
全文

在ASP.NET中创建自定义控件

2008-07-10 06:40作者:论坛整理出处:天极网责任编辑:nancy

  假如你有大量的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方法,并将你的控件定义文件的路径传给这个方法。之后,你就具有一个自定义控件的实例化变量。然后,就可以像添加任何其他的控件那样将其添加到页面中。

相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众