知识大全 ASP.NET 2.0移动开发之属性重写和模板化

Posted 设备

篇首语:少年安得长少年,海波尚变为桑田。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET 2.0移动开发之属性重写和模板化相关的知识,希望对你有一定的参考价值。

ASP.NET 2.0移动开发之属性重写和模板化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文将重点讲解如何为特定的硬件设备自定义 Web移动程序 以及使用模板自定义Form和Panel等控件 通过属性重写这个特性 使ASP NET Web移动程序可以根据移动设备的硬件功能 为特定的硬件指定其控件的属性值 例如 应用程序可能需要一个Label控件在一些设备上显示较长的文本 而在另一些设备上显示较简短的文本 这就需要我们为每个控件都提供一组属性 应用程序可以针对各个设备重写这些属性 所有的ASP NET移动控件都具有默认的外观和布局 对于ASP NET移动控件 你可通过设置属性或使用样式来改变移动控件的默认外观 你还可以使用模板自定义某些移动控件的外观 本章还将重点介绍模板和模板集 以及它们的使用方法    自定义的方式        在前面的几个专题中 我们提过如何使用设备筛选器为特定设备进行自定义 除此之外 我们还可以使用模板化技术和属性重写功能使你可以自定义你的应用程序 以便对特定的设备类型以不同的方式呈现控件 如果你在 aspx页面中为一个控件使用上述的任何一种自定义方法 都可以使用一个名为DeviceSpecific/Choice构造的移动控件语法 DeviceSpecific/Choice构造通常是为特定于设备的选项模板集以及控件内在多个备选内容之间指定一个选项 例如 下面的代码是一个Label控件的声明语法 在这个声明中包含了一个用来鉴别当前浏览器是否支持HTML的DeviceSpecific/Choice构造      <mobile:Label id= Label runat= server Text= Default text >   <DeviceSpecific>   <Choice Filter= isHTML Text= Text for selected devices ></Choice>   </DeviceSpecific>   </mobile:Label>        其中Filter属性指定了一个设备筛选器 该设备筛选器其名称为isHTML 它用来鉴别一个移动设备是否内置了HTML浏览器 如果内置了HTML浏览器的话 将会在Label控件上应用 Text for selected device 这段文本 相反的 就不作任何的显示 正如上述的代码所示 在<DeviceSpecific></DeviceSpecific>内通常包含一个或多个<Choice>元素 每个元素都包含指定如何根据目标设备功能计算选项的属性 运行时依次计算每个选项 并使用成功计算出的第一个选项(这和C#里的switch case语句非常相似)        在开始学习如何定义一个设备筛选器前 先让我们先了解一些基本的概念 例如属性重写和模板化的具体含义    属性重写        一般情况下 我们开发的ASP NET Web移动程序并不是针对某个具体的设备 而是可以根据移动设备硬件特性的不同 通过适应性的调整从而可以在几乎所有的硬件设备上进行良好的呈现        但是因为品牌和型号的不同 这些移动设备间就不可避免地存在一些差异 例如支持的颜色 屏幕大小 输入功能以及浏览器使用的标记语言等 前面提到过 ASP NET控件是可以被几乎所有的硬件设备支持的 因为它们本身就具有适应性调整的功能 而且控件设置的属性值也会伴随ASP NET控件应用到具体的应用程序中 并不会因为硬件设备的不同使属性值不同 但是 在某些情况下你可能舍弃默认的呈现 采用自定义的呈现方式 一个典型的例子就是字符的显示 例如我们使用Label控件进行字符串的显示 在一些屏幕较小的设备上 每一行显示的字符数也是较少的 因此我们可以为该控件的Text属性设置为 我们使用ASP NET 而针对一些大屏幕的设备 我们可以将Label控件的Text属性设置为 我们使用ASP NET构建一个功能完善的移动应用程序 正是因为属性重写功能 我们才可以使用上述的方法来构建一个针对不同移动设备的硬件特性做出最好呈现的ASP NET Web移动应用程序    模板        Form Panel List和ObjectList等移动控件都是模板化的控件 开发人员通常使用模板来改变或丰富应用程序的外观或内容 例如 如果为Form控件指定并选择了页眉或页脚模板 则该模板中包含的标记将被添加到窗体内容中 分别作为页眉或页脚进行呈现 请注意模板不同于样式 模板定义要显示的内容和控件 当应用程序呈现模板附加到的控件时 即会呈现模板 而样式指定内容和控件的外观 您的应用程序可在不使用模板的情况下使用样式 它也可在模板内将样式应用于您定义的移动控件 除了模板外 ASP NET移动控件在此基础上还扩展了一个新的模型 并引入了模板集的概念 模板集是由模板组成的集合 但是 单个模板化控件可能引用多个模板集 而每个模板集都具有不同的特定于设备的条件 模板集的具体实现将在后续章节具体介绍     设备筛选器详解        使用设备筛选器 应用程序可为特定硬件设备或设备类别自定义控件的外观 该自定义基于用来浏览应用程序的硬件设备的功能 例如 假设开发人员正在开发主要用于支持位图 ( bmp) 图像的特定品牌手持式设备的应用程序 在此设备上 开发人员决定同时用来自 bmp文件的文本和图标显示List控件中的所有项 通过使用设备筛选器 应用程序可检测到它是否正在目标手持式设备上被用户浏览 这会导致应用程序使用同时用文本和图标显示列表项的设备特定的模板 此技术可为特定硬件设备自定义应用程序 进一步扩充此示例 假设您还希望可在显示 gif图像的任意类型设备上浏览该应用程序 您的应用程序可应用检测程序何时在此类设备上使用的设备筛选器 在该情况下 该程序指定使用文本和列表项图标的 gif 图像(而不是 bmp图像)显示列表项的模板 这就为一类设备自定义了应用程序        设备筛选器可完成的一些其他任务包括        ■ 根据设备类型选择样式        ■ 在支持使用更为丰富的表现形式呈现控件的设备上 我们可以尽量利用该硬件设备的 性能 使用一些更加细致的 具体的呈现方式        ■ 在显示功能受限制的设备上 使用更为简单的表现形式呈现控件        在DeviceSpecific/Choice构造中的<Choice>元素依赖于移动设备的功能 当你使用某移动设备请求一个ASP NET移动页面时 首先就会将包含该移动设备型号和内置浏览器等信息通过HTTP文件头传送到服务器端 这时服务器就会根据HTTP文件头传送的这些信息构建一个System Web Mobile MobileCapabilities对象 以此来响应客户端请求 而设备筛选器就是利用MobileCapabilities对象的一些只读属性进行工作的 一个典型的例子就是设备筛选器如何鉴别那些支持HTML 标记语言的浏览器 实现这种鉴别就是检测和客户请求相关的MobileCapabilities对象的PreferredRenderingType属性值是否为 是的话就是支持HTML 标记语言的浏览器        注意 MobileCapabilities对象的各个属性是和浏览页面的移动设备戚戚相关的 例如 当使用Pocket Internet Explorer浏览器请求页面时 MobileCapabilities对象的Browser属性将被设置为 Pocket IE PreferredRenderingType属性值设置为 而ScreenPixelsWidth 和ScreenPixelsHeight属性取决于移动设备的具体型号 因为Pocket PC Smartphone和Windows CE NET都可以使用Pocket Internet Explorer浏览器 但是这些设备屏幕的分辨率是不同的        因为不同移动设备使用的浏览器是不同的 因此相应的MobileCapabilities对象各个属性也存在差异 如果你要查看特定浏览器的MobileCapabilities对象 你可以在C:\\WINDOWS\\Microsoft NET\\Framework\\[版本号]\\CONFIG\\Browsers目录下 查看openwave Pocket Internet Explorer palm和nokia等众多浏览器的信息 下面是openwave浏览器对应文件的一段代码片断 在使用该浏览器请求页面时 这些信息就会通过HTTP文件头传送到服务器端 并构建具有类似属性值的MobileCapabilities对象

cha138/Article/program/net/201311/13820

相关参考

知识大全 ASP.NET 2.0中实现模板中的数据绑定

ASP.NET2.0中实现模板中的数据绑定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模板化

知识大全 为ASP.NET 2.0菜单控件增加target属性

为ASP.NET2.0菜单控件增加target属性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET模板控件开发浅析

ASP.NET模板控件开发浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET模板控

知识大全 Asp.net 2.0 自定义控件开发

Asp.net2.0自定义控件开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  (一)概述  

知识大全 ASP.NET 2.0服务器控件开发精要

ASP.NET2.0服务器控件开发精要  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用ASP

知识大全 ASP.NET 新特性之工程模板支持

ASP.NET新特性之工程模板支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一简介  在A

知识大全 Asp.NET 2.0中无刷新页面的开发

Asp.NET2.0中无刷新页面的开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在已经发布

知识大全 ASP.NET 2.0服务器控件开发的基本概念

ASP.NET2.0服务器控件开发的基本概念  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用

知识大全 ASP.NET 2.0高级控件之FileUpload控件

ASP.NET2.0高级控件之FileUpload控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.NET 2.0高级数据处理之使用参数

ASP.NET2.0高级数据处理之使用参数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!你可以处理