|
|
| ASP.NET 2.0移动开发之定义设备筛选器 |
| 作者:不详 来源:本站整理 发布时间:2007-4-23 22:03:28 发布人:tangyunfei |
减小字体
增大字体
public static bool MethodName (System.Web.Mobile.MobileCapabilities capabilities, String param)
在Web.Config配置文件中,你可以采用<filter>元素的第二种形式定义基于鉴别委托的筛选器。例如,你创建了一个名为isMMEonSony的筛选器,该筛选器使用了MyClass类中的一个名为MMEandSony的静态方法,而且该类的命名空间是MyEvaluators.dll程序集里的MyNameSpace。因此我们需要在移动Web.Config配置文件中编写如下的代码:
<system.web> <deviceFilters> <filter name="isMMEonSony" type="MyNameSpace.MyClass, MyEvaluators.dll" method="MMEandSony"> </filter> </deviceFilters> </system.web> | 在上述配置中我们设置type属性为该类的完整名称:命名空间.类名,程序集。而method属性的属性值为运行时调用的实际的方法名。
在DeviceSpecific/Choice构造中使用一个基于鉴别委托的筛选器和在DeviceSpecific/Choice构造中使用一个基于比较的筛选器没有什么太大的区别,下面是使用基于鉴别委托的筛选器的代码片断:
<mobile:Form id="Form1" runat="server"> <mobile:Label id="Label1" runat="server" Text="Client is NOT MME on Sony"> <DeviceSpecific> <Choice Text="Client is MME on Sony" Filter="isMMEonSony"> </Choice> </DeviceSpecific> </mobile:Label> </mobile:Form> | 除了上面的方法外,你还可以在代码中使用MobileCapabilities.HasCapability方法来查看移动设备是否具备isMMEonSony基于鉴别委托的筛选器的功能,如果设备具有指定的功能,则返回值为true,否则为false。在基于鉴别委托的筛选器这种情形下,HasCapability方法的第二个参数是可选的,你可以为该参数设置一个有意义的String值。
使用第二个参数的好处就是你可以传递一些MobileCapabilities对象无法获取的移动设备信息到HasCapability方法中,例如我们知道HTTP文件头会传送一些和移动设备相关的信息,我们可以使用System.Web.HttpRequest对象的属性获取移动设备的一些由MobileCapabilities对象无法获取的其它信息。下面是具体的实现代码:
if (((MobileCapabilities)Request.Browser).HasCapability( "isMMEonSony", Request.UserLanguages[0])) { // Do something. } | 上一页 [1] [2] [3] [4] 下一页
|
|
[]
[返回上一页]
[打 印]
[收 藏] |
|
| ∷相关文章评论∷ (评论内容只代表网友观点,与本站立场无关!) [更多评论...] |
|
|