下载首页 | 资讯中心 | 文章分类 | 最近更新 | 排 行 榜 | 国产软件 | 国外软件 | 绿色软件 | 汉化补丁 | |
文章搜索: 分类 关键字
您的位置:首页编程开发网络编程 → ASP.NET 2.0移动开发之属性重写和模板化
ASP.NET 2.0移动开发之属性重写和模板化
来源:天极yesky 作者: 加入时间:2006-10-27 访问次数:3 [  ]

动控件。 除了模板外,ASP.NET移动控件在此基础上还扩展了一个新的模型,并引入了模板集的概念。模板集是由模板组成的集合。但是,单个模板化控件可能引用多个模板集,而每个模板集都具有不同的特定于设备的条件。模板集的具体实现将在后续章节具体介绍。

  设备筛选器详解

  使用设备筛选器,应用程序可为特定硬件设备或设备类别自定义控件的外观。该自定义基于用来浏览应用程序的硬件设备的功能。 例如,假设开发人员正在开发主要用于支持位图 (.bmp) 图像的特定品牌手持式设备的应用程序。在此设备上,开发人员决定同时用来自.bmp文件的文本和图标显示List控件中的所有项。通过使用设备筛选器,应用程序可检测到它是否正在目标手持式设备上被用户浏览。这会导致应用程序使用同时用文本和图标显示列表项的设备特定的模板。此技术可为特定硬件设备自定义应用程序。进一步扩充此示例,假设您还希望可在显示.gif图像的任意类型设备上浏览该应用程序。您的应用程序可应用检测程序何时在此类设备上使用的设备筛选器。在该情况下,该程序指定使用文本和列表项图标的 .gif 图像(而不是.bmp图像)显示列表项的模板。这就为一类设备自定义了应用程序。

  设备筛选器可完成的一些其他任务包括:

  ■ 根据设备类型选择样式。

  ■ 在支持使用更为丰富的表现形式呈现控件的设备上,我们可以尽量利用该硬件设备的 性能,使用一些更加细致的、具体的呈现方式。

  ■ 在显示功能受限制的设备上,使用更为简单的表现形式呈现控件。

  在DeviceSpecific/Choice构造中的<Choice>元素依赖于移动设备的功能。当你使用某移动设备请求一个ASP.NET移动页面时,首先就会将包含该移动设备型号和内置浏览器等信息通过HTTP文件头传送到服务器端,这时服务器就会根据HTTP文件头传送的这些信息构建一个System.Web.Mobile.MobileCapabilities对象,以此来响应客户端请求。而设备筛选器就是利用MobileCapabilities对象的一些只读属性进行工作的。一个典型的例子就是设备筛选器如何鉴别那些支持HTML 3.2标记语言的浏览器,实现这种鉴别就是检测和客户请求相关的MobileCapabilities对象的PreferredRenderingType属性值是否为"html32",是的话就是支持HTML 3.2标记语言的浏览器。

  注意,MobileCapabilities对象的各个属性是和浏览页面的移动设备戚戚相关的。例如,当使用Pocket Internet Explorer浏览器请求页面时,MobileCapabilities对象的Browser属性将被设置为"Pocket IE", PreferredRenderingType属性值设置为"html32",而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对象。

<capabilities>
<capability name="browser" value="Phone.com" />
<capability name="canInitiateVoiceCall" value="true" />
<capability name="canSendMail" value="false" />
<capability name="deviceID" value="${deviceID}" />
<capability name="deviceVersion" value="${deviceVersion}" />
<capability name="inputType" value="telephoneKeypad" />
<capability name="isMobileDevice" value="true" />
<capability name="majorVersion" value="${browserMajorVersion}" />
<capability name="maximumRenderedPageSize" value="1492" />
<capability name="minorVersion" value="${browserMinorVersion}" />
<capability name="numberOfSoftkeys" value="2" />
<capability name="optimumPageWeight" value="700" />
<capability name="preferredImageMime" value="image/vnd.wap.wbmp" />
<capability name="preferredRenderingMime" value="text/vnd.wap.wml" />
<capability name="preferredRenderingType" value="wml11" />
<capability name="requiresAdaptiveErrorReporting" value="true" />
<capability name="rendersBreakBeforeWmlSelectAndInput" value="true" />
<capability name="rendersWmlDoAcceptsInline" value="false" />
<capability name="rendersWmlSelectsAsMenuCards" value="true" />
<capability name="requiresFullyQualifiedRedirectUrl" value="true" />
<capability name="requiresNoescapedPostUrl" value="true" />
<capability name="requiresPostRedirectionHandling" value="true" />
<capability name="supportsRedirectWithCookie" value="false" />
<capability name="type"
value="Phone.com${browserMajorVersion}" />
<capability name="version"
value="${browserMajorVersion}${browserMinorVersion}" />
</capabilities>

  当然,你还可以通过代码的方式将请求页面的浏览器信息通过MobileCapabilities对象显示页面上,代码如下:
上一页 [1] [2] [3] [4] 下一页
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
 热点文章
·惊爆!《暗黑破坏神3》将对应全平台
·《荣誉勋章:太平洋之战》中文版上市
·MediaShow魅力四射快速制作音乐电子相册
·《花木兰》完美流程攻略
·轻松可爱 最新10大Q版网络游戏推荐
·2006年暑期新宣布免费网络游戏一览
·photoshop制作水晶球中的精灵
·NVIDIA发布Forceware 93.71 WHQL驱动
·经验分享 微软Word2007实用技巧两则
·国内新记录产生 1M super pi运算仅用9秒
 推荐文章
·微软高官爆料:欧盟对Vista哪些功能不安
·在Google Talk上与QQ、MSN好友聊天
·Word使用过程中的常见问题及其解决
·手把手教你内存终极变相“造假”大法
·NVIDIA联手海盗船 推出自动超频内存
·Windows Vista特殊功能介绍:语音识别
·公安机关检验软件样本 流氓软件制造者面临坐牢危..
·比英特尔UMPC还要小 移动PC新品推出
·性感暴力完美结合 御姐武戏X新画面
·盖茨访谈:我就是微软里的兼职员工
WinXP下载基地 版权所有 Copyright© 2006-2008 WWW.WinXpd.COM, All Rights Reserved. 页面维护: WinXP下载基地(WinXP基D)