当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net开发wap必备:更好的匹配手机设备

ASP.NET
如何使用vb6.0来实现中文实名搜索
C#实现Window管道技术
记录下一些关于测试工具NUNIT的链接资料,有兴趣的朋友也可以跳过去看看
编写与.NET属性窗口交互的RAD组件(自序)
asp.net 关于form认证的一般设置:
编写与.NET属性窗口交互的RAD组件(一)
ActiveX控件的打包发布[无证书发布](一)
Visual SourceSafe 6.0 的问题思考
VB报表输出的问题,恳请不吝赐教
证书和签名--试用微软提供的证书测试工具系列
[dotNET]如何利用ConfigurationSettings.AppSettings.GetValues读取配置文件中多个...
使用C#编写DES加密程序的framework
令你的网页速度大大提高
怎样得到一个系统盘的全名,不是字符,是全名,如:本地磁盘(C:)?
r在richtextbox中插入动画/控件
Code: Writing Text to a File (Visual Basic)
算法讨论:哲学家就餐问题
我们所要关注的是什么?
firebird 连接嵌入式版本
从Csharp走到VB.Net(一):MyClass保留字

ASP.NET 中的 asp.net开发wap必备:更好的匹配手机设备


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 115 ::
收藏到网摘: n/a

虽然微软说asp.net能够匹配各种手机设备,但是手机型号众多,微软收集的手机资料有限,所以导致asp.net对很多手机匹配错误,本来可以支持html的却生成html,本来只支持wml的,缺生成了html导致手机无法浏览;我们不能等待微软偶尔发布一个设备更新包---更新有限的手机设备资料,这里我们自己都可以做:

asp.net识别设备型号是靠machine.config或者web.config对http协议HTTP_USER_AGENT设备标示来匹配的,具体的你可以打开machine.config里面打开<browserCaps>节来看看。

下面是“强制特定手机生成WML”详细的代码,在web.config里的<system.web>节添加以下代码:


<browserCaps>

<resulttype="System.Web.Mobile.MobileCapabilities,System.Web.Mobile,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>

<usevar="HTTP_USER_AGENT"/>

<filter>

<casematch="SEC-SGHX458|Motorola-T33">

preferredRenderingType="wml11"

preferredRenderingMime="text/vnd.wap.wml"

preferredImageMime="image/vnd.wap.wbmp"

</case>

</filter>

</browserCaps>

代码说明:

这里强制生成wml
preferredRenderingType="wml11"
preferredRenderingMime="text/vnd.wap.wml"
preferredImageMime="image/vnd.wap.wbmp"

最重要就是

<casematch="SEC-SGHX458|Motorola-T33">

这里是在匹配设备,可以参考正则表达式语法,SEC-SGHX458代表三星X458,Motorola-T33代表摩托e360