日期:2014-05-16  浏览次数:21281 次

ASP.NET中的用户控件和用户自定义控件

用户控件:

       用户控件是用户自定义的可重用的一种控件,它的使用由HTML和Web服务器控件使用相同的技巧。开发人员能够根据程序的需要,定义和编写用户控件,开发所使用的编程技术与Web窗体编写的技术相同,开发人员对用户控件进行修改,就可以将使用该控件的页面的所有控件进行更改。
       在为了确保用户控件不会被修改下载,被当成一个独立的Web窗体来运行,用户控件的后缀名为.ascx,当用户访问页面时,用户控件不能被用户直接访问。
用户控件使用:
       
用户控件和.aspx文件的不同:
       扩展名为.ascx
       不包含<HTML>、<BODY>、<FORM>元素
aspx页面可修改为用户控件:
       去除<HTML>、<BODY>、<FORM>元素
       Web窗体中的asp.net指令类型由@page修改为@Control
       扩展名更改,由aspx改为ascx
       基类充System.Web.UI.Page更改为System.Web.UI.UserControl

用户自定义控件:

        自定义控件是已经编译的代码组件,在服务器上执行、公开对象模型和呈现的标记文本如HTML或XML,像一个Web窗体或用户控件一样。用户自定义控件一旦创建之后要给予其属性或方法。
        自定义控件一旦被编译之后,就可以直接放到工具箱中,像TextBox,DataGrid一样在设计器中可以用鼠标拖到页面上使用。
自定义服务器控件分为两种:
        第一种:*.aspx或*.cs代码经编译后生产的DLL,再添加引用到工具箱中使用,一般用于WebForm中。
        第二种:*.cs实现,编译DLL,添加到工具箱使用的,一般用于WinForm中。

用户控件和自定义控件的比较: