更新:2007 年 11 月
ASP.NET 和 ASP.NET 移动控件使您能够通过组合现有的控件来创作新控件。例如,如果要将多个移动控件封装到一个控件中,您可以创建一个复合移动控件。可在 .ascx 文件中将复合控件创建为用户控件,或者创建为完全包含在 .dll 中的自定义控件。
语言独立性
必须用一种语言(如 C# 或 Visual Basic)创作用户控件。创建复合控件时,可以组合用不同语言创建的控件。例如,您可以将用户控件中描述的 C# CarControl 示例与使用 Visual Basic 编写的一个新控件组合在一起,该新控件盘点具有指定特性的所有汽车。
常规复合
复合控件可从任何控件类继承,包括移动网页 MobileControl 基类或者移动网页 Panel 控件类。有关继承的更多信息,请参见通过继承扩展功能。
MobileControl 和 Panel 类的适配器自动呈现所有子控件,从而为复合控件提供必要的适配器支持。如果您的复合控件从任何其他移动控件继承,则您必须提供呈现子控件的适配器。
在移动网页上使用复合控件
创建复合移动控件之后,可以采用以下方式在移动网页上使用该控件:
如果该控件是用户控件,请使用 @ Register 指令在页上注册标记前缀、标记名称和 .ascx 文件,如下面的示例所示:
<%@ Register TagPrefix="myCompany" TagName="CarControl" Src="~/CarControl.ascx" %>
如果该控件是自定义控件,请使用 @ Register 指令的不同语法在页上注册标记前缀和程序集:
<%@ Register TagPrefix="myComany" Namespace="company.MobileControls" Assembly="company.MobileControls" %>
在网页中通过声明可以创作个人网页中的控件,如下例所示:
<myCompany:CarControl id="myCarCtl" runat="server" />