自定义控件的使用以及与用户控件的区别

来源:互联网 发布:罪恶装备人物乐乎 编辑:程序博客网 时间:2024/05/29 20:04

1、自定义控件的使用

 

  a)首先我新建立了一个空的解决方案,在解决方案中新建了网站,用于测试自定义的控件;

  b)在解决方案中=>添加新项目=>在已安装的模板中选择“Asp.NET服务器控件”,确定后,

       默认就会生成一个ServerControl的控件项目,在这个控件项目中就可以添加自定义的控件了。

  c)创建一个显示当前日期的自定义控件

      代码如下:

     

   这样自定义的控件创建完毕。

   d)将自定义的控件添加到工具箱中

      点击工具箱中的“选择项”=>在弹出的对话框中选择“浏览”=>选择刚才编译好的dll文件,

     这时会在.Net Framework组件中添加上已选的dll,点确定后就会将自定义的控件添加到工具箱中。

   e)在web页面中直接使用自定义的控件

     

     和使用Label控件一样,直接从工具栏中将自定义的控件拖动到web页面中即可。

     在web中显示的结果如下:

      

      f)注意:在Web项目中使用自定义控件时,最好是添加对自定义控件的引用,如果添加了引用,

         当自定义控件修改编译后,Web项目中的控件也会自动的修改。

 

2、用户控件的使用

     a)用户控件声明性语法与用于创建 ASP.NET 网页的语法非常相似。主要的差别在于:用户控件使用 @ Control 指令取代了 @ Page 指令,并且用户控件在内容周围不包括 htmlbodyform 元素。

 

     b)在Web项目中=>添加新项=>选择Web用户控件,确定后新的用户控件生成。

     c)生成的.ascx控件和.aspx页面一样

      添加的代码如下:

    

     前台代码如下:

    

  这样一个用户控件创建完毕。

   d)使用用户控件

     

     显示的页面如下:

           

 

 

3、自定义控件和用户控件的区别

 

  a)用户控件易于创建,为使用可视化设计工具的使用者提供有限的支持,每个应用程序中需要控件的一个单独副本,不能添加到visual  studio工具箱中,适用于静态布局,它们在高级方案中使用起来可能不太方便。
自定义服务器控件是经过编译的代码,这使其易于使用但难于创建。它为使用者提供完全的可视化设计工具支持,仅在全局程序集缓存中需要控件的单个副本,可以添加到visual studio中的工具箱,适用于动态布局。
如果您的控件包含大量静态布局,用户控件则可能是较佳的选择。如果您的控件主要是动态生成的,自定义控件则是较佳的选择。


b)用户控件(UserControl):  扩展名为*.ascx,跟*.aspx在结构上相似,是指页面中 加载的功能块,只是用户控件不能单独作为页面运行,必须嵌入到*.aspx页面或其它用户控件中使用.  
    自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里面,直接用鼠标拖动使用.

 

 4、控件的呈现方法(Rendering)的内核

       参照:http://blog.csdn.net/21aspnet/archive/2005/03/12/318347.aspx

 

 

 

原创粉丝点击