您现在的位置: 365建站网 > 365文章 > [Asp.net] 注册用户控件和自定义控件

[Asp.net] 注册用户控件和自定义控件

文章来源:365jz.com     点击数:795    更新时间:2009-09-16 11:52   参与评论

页面中引入

 1 <%@ Register TagPrefix="scott" TagName="header" Src="Controls/Header.ascx" %>
 2 <%@ Register TagPrefix="scott" TagName="footer" Src="Controls/Footer.ascx" %>
 3 <%@ Register TagPrefix="ControlVendor" Assembly="ControlVendor" %>
 4 
 5 <html>
 6 <body>
 7     <form id="form1" runat="server">
 8         <scott:header ID="MyHeader" runat="server" />
 9     </form>
10 </body>
11 </html>
注意到上面的前两个注册指令是用来注册用户控件的(是在.ascx文件里实现的),最后这个是用来注册编译进一个程序集 .dll 文件里的自定义控件的。注册完后,开发人员可以在页面的任何地方用设定好的 tagprefix (标识前缀)和标识符号名( tagname)来声明这些控件。
优点:通过src属性,清晰直观的找到控件定义处;
缺点:如果你的项目有100个使用用户控件的页面.....,有一天改变了用户控件存放的目录

在Web.config中引入

<?xml version="1.0"?>
<configuration>
  
<system.web>    
    
<pages>
      
<controls>
        
<add tagPrefix="scottgu" src="~/Controls/Header.ascx" tagName="header"/>
        
<add tagPrefix="scottgu" src="~/Controls/Footer.ascx" tagName="footer"/>
        
<add tagPrefix="ControlVendor" assembly="ControlVendorAssembly"/>
      
</controls>
    
</pages>
  
</system.web>
</configuration>
优点:一旦声明便可在任意页面上通过tagprefixtagname使用该控件;
缺点:......
另外,对于自定义控件来说,存在 dynamic 与 non dynamic 之差:前者的类文件位于~/App_Code中,且无需指定assembly属性;后者一般将编译好的dll文件存放在~/bin目录,必须指定assembly属性。因此用户控件的assembly属性是可选的,namespace属性用于指定控件在程序集中所属的命名空间。
对于用户控件,必须指定tagName和src属性。
Tag标签: 控件开发

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (795人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 建站公司
· 杰创官网
· 建站工具

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2022 版权所有 鄂ICP备17013400号