自定义控件研究(续) 1
点击次数:35 次 发布日期:2008-11-26 11:45:51 作者:源代码网
|
源代码网推荐 在 ASP.NET 2.0 中,创建自定义服务器控件有很多方法,每种方法都有其优点和局限性。本文将讨论与自定义控件的创建和配置相关的详细信息。代码示例和体系结构概念要求您对 C# 编程语言具有中等水平的理解。 源代码网推荐 源代码网推荐 自适应呈现模型 源代码网推荐 源代码网推荐 在 ASP.NET 1.x 中,自定义控件开发人员必须设计每个服务器控件,以便它可以识别不同的浏览器类型并发出正确的输出。ASP.NET 1.x 控件框架提供了几项功能以使该任务变得更简单,但开发人员仍然必须根据浏览器的类型编写切换程序、开发适当的 HTML,然后针对不同类型的浏览器测试控件。此外,如果开发人员希望控件在移动设备上显示,他必须创建一个与普通 Web 浏览器上使用的控件不同的全新控件。 源代码网推荐 源代码网推荐 ASP.NET 2.0 通过新的自适应呈现模型简化了浏览器检测和呈现过程。在 ASP.NET 2.0 中引入的自适应呈现模型旨在用于支持那些众多能够使用标记格式(包括 HTML、WML、XHTML 或 CHMTL)的不同设备。 源代码网推荐 源代码网推荐 自适应呈现模型体系结构 源代码网推荐 源代码网推荐 每个控件都可以链接到一个适配器,它会针对特定的目标设备修改控件的行为和标记。例如,HTML 适配器将 ASP.NET 控件生成为标准的 HTML 和 DHTML,以便普通 Web 浏览器使用。另一方面,WML 适配器将相同的控件转换成无线标记语言,以便蜂窝电话或其他移动设备使用。 源代码网推荐
源代码网推荐 图 1. 控件-适配器寿命周期 源代码网推荐 源代码网推荐 上图说明了控件方法与适配器方法之间一对一的映射。如果有适配器(如果控件的 Adapter 属性不为空),执行就会在控件和适配器方法之间传输,如上图所示。在生成阶段,控件对象或适配器对象都可以生成输出(通常情况下两者不同时生成输出)。通常情况下,如果有适配器,那么适配器的实现将覆盖控件的实现。在 ASP.NET 2.0 中,自适应呈现模型适用于所有 ASP.NET 控件(不仅仅是移动控件),并且允许 ASP.NET 2.0 支持统一的控件体系结构实际意义 源代码网推荐 源代码网推荐 自适应呈现模型的实际意义有两个主要方面。第一,作为开发人员,您可以一次设计控件并期望它可以在具有适配器的任何类型的设备或浏览器上使用。第二,您可以对常用适配器利用广泛的 Microsoft 测试,减少您自己浏览器的特定测试。 源代码网推荐 源代码网推荐 自适应呈现模型还为 ASP.NET 2.0 提供了将其他服务添加到控件生成过程中的机会。由于具有适配器模型,您可以: 源代码网推荐 源代码网推荐 1) 根据目标的类型,使用筛选器 来更改控件的外观。 源代码网推荐 源代码网推荐 2) 根据目标的类型,使用模板来更改整个页面布局。 源代码网推荐 源代码网推荐 3) 根据浏览器控制在浏览器上的呈现,而不必依赖于 ASP.NET 1.x 的 uplevel/downlevel 确定。 源代码网推荐 源代码网推荐 在本文中,我们将重点放在创建自定义控件的应用方面。但是,请牢记自适应呈现模型是新的基础框架。 源代码网推荐 源代码网推荐 创建自定义服务器控件 源代码网推荐 源代码网推荐 Visual Studio 2005 提供了很多用于开发自定义服务器控件的有用工具。为了说明某些功能,我们将创建一个 MailLink 控件,它公开了两个属性:Email 和 Text。该控件将生成必需的 HTML 来将所提供的 Text 包装到 mailto: 链接标记中。 源代码网推荐 源代码网推荐 创建项目 源代码网推荐 源代码网推荐 在 Visual Studio 2005 中,我们通过在新建项目向导中选择适当的图标来创建一个新的“Web Control Library”项目: 源代码网推荐
源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
