• 在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)标记中设定的tagprefixtagname属性的组合。之后,你可以为这个自定义控件提供一个名字,并指出该控件应该在服务器上执行。如果这个控件具有一些可写的属性的话,你可以在控件的定义中设置这些属性。如果控件有一个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方法,并将你的控件定义文件的路径传给这个方法。之后,你就具有一个自定义控件的实例化变量。然后,就可以像添加任何其他的控件那样将其添加到页面中。

    出处:http://www.blueidea.com/tech/program/2003/1060.asp

  • 相关阅读:
    20145319 《信息安全系统设计基础》第0周学习总结
    20145319 《java程序设计》课程总结
    20145319 第十周学习总结
    20145319 实验五
    20145319 实验四
    20145319 第九周学习总结
    20145319 第八周学习总结
    20145319 实验三
    20145319 第七周学习总结
    20145312 《Java程序设计》第六周学习总结
  • 原文地址:https://www.cnblogs.com/ringwang/p/1270208.html
Copyright © 2020-2023  润新知