ASP.NET 2.0移动开发之定义设备筛选器(1)
点击次数:26 次 发布日期:2008-11-26 12:35:41 作者:源代码网
|
源代码网推荐 源代码网推荐 <system.web> 源代码网推荐 <deviceFilters> 源代码网推荐 <filter 源代码网推荐 name="filterName" 源代码网推荐 compare="capabilityName" 源代码网推荐 argument="comparisonString"/> 源代码网推荐 <filter 源代码网推荐 name="filterName" 源代码网推荐 type="className" 源代码网推荐 method="methodName"/> 源代码网推荐 </deviceFilters> 源代码网推荐 </system.web> 源代码网推荐 源代码网推荐 如上述代码所示,存在两个<filter>元素。它分别代表两种不同类型的筛选器,分别为基于比较的筛选器和基于鉴别委托的筛选器。语法指定了这两种筛选器类型。第一种称为基于比较的筛选器,可在运行时将开发人员指定的值与设备功能的当前值进行比较。当希望确定设备是否支持某特定功能时,可使用此类筛选器。它的各个属性为: 源代码网推荐 源代码网推荐 属性 说明 源代码网推荐 name 必需的String属性,指定设备筛选器的名称。注意,在设置该属性时要注意它是区分大小写的。例如,isHTML和IsHTML代表不同的设备筛选器。 源代码网推荐 compare 它包含设备筛选器计算的属性。 源代码网推荐 argument 指定该功能应与之比较的参数。如果未提供任何参数,则将 null 用于比较。 源代码网推荐 源代码网推荐 下面来定义一个简单的基于比较的筛选器,你完全可以在一个<deviceFilters>元素中定义基于比较的筛选器,而无需额外的代码。例如,我们可以添加一个用来测试某个移动设备是否支持HTML 3.2的设备筛选器,你仅需在Web.Config配置文件中添加如下的代码: 源代码网推荐 源代码网推荐 <system.web> 源代码网推荐 <deviceFilters> 源代码网推荐 <filter name="isHTML32" compare="PreferredRenderingType" argument="html32"> 源代码网推荐 </filter> 源代码网推荐 </deviceFilters> 源代码网推荐 </system.web> 源代码网推荐 源代码网推荐 上面的代码定义了一个名为isHTML32的筛选器,它用来测试MobileCapabilities对象的PreferredRenderingType属性是否等于html32。除了在DeviceSpecific/Choice构造中使用上面的筛选器外,你还可以通过使用MobileCapabilities对象的HasCapability方法来评估设备功能,此方法供ASP.NET内部使用,用来实现用控件语法表达的各种设备选择条件。如下面的代码所示,它也是用来查看该移动设备是否支持HTML3.2标记语言,如果设备具有指定的功能,则返回值为true,否则为false。注意,如果是基于比较的筛选器,HasCapability方法的第二个参数为null。 源代码网推荐 源代码网推荐 MobileCapablities cap = (MobileCapabilities)Request.Browser; 源代码网推荐 if ((cap.HasCapability ("isHTML32", null)) 源代码网推荐 { 源代码网推荐 // Do something. 源代码网推荐 } 源代码网推荐 源代码网推荐 提示:当你使用Visual Studio创建一个ASP.NET Web移动应用程序时,在添加的移动Web.Config配置文件中将包含大量的基于比较的筛选器。这些筛选器包括isWML11、isHTML32、isCHTML10。你可以打开该配置文件,查看所有的可用设备筛选器。 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
