在Asp.Net开发中有些控件我们经常使用,为了减轻开发的重担,我们可以将几个web服务控件组合,是这几个控件组合成一个控件,并定义这些控件的方法和属性。
既然用户控件是web服务控件组合而成的,那么他与Asp.Net网页有什么区别?他们之间是否可以相互转化呢?
区别:
1、用户控件的扩展名为.ascx,而Asp网页的扩展名为.aspx。
2、用户控件中没有@page指令,取而代之的是@Contorl指令,用于对控件配置进行定义。
3、用户控件不能独立运行,必须内嵌到Asp.Net中才可以运行。
4、用户控件中没有Html、head或body元素,这些元素必须位于宿主页中。
转化:
将web网页转换为用户控件有两种,一种是将单文件asp.net网页转换为用户控件,一种是将代码隐藏asp.net网页转换为用户控件。
1、将单文件asp.net网页转换为用户控件方法:
(1)把ASP.Net网页文件的扩展名改为.ascx.
(2)将@Page指令更改为@Control指令
(3)把页面中的Html、head或body元素删除。
(4)移除@Contorl指令中除Language、AutoEventWireup、CodeFile和Inherits之外的所有属性。
(5)在@Countorl指令中包含ClassName属性,此属性用来对用户控件进行强类型化处理。
2、将代码隐藏asp.net网页转换为用户控件。
(1)把ASP.Net网页文件的扩展名改为.ascx.
(2)根据代码隐藏文件的编程语言,将代码隐藏文件的扩展名改为.ascx.vb或ascx.cs.
(3)打开代码隐藏文件,将该文件继承的类从Page更改为UserContorl。在.aspx文件中执行单文件转换的2、3、4步操作。然后在@Control指令中,将CodeFile属性改为重命名后代码隐藏文件的文件名。最后重复执行单文件Asp.Net网页转换的步骤5.