手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

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

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

虽然微软说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>

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

<use var="HTTP_USER_AGENT" />

<filter>

<case match="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"

最重要就是

<case match="SEC-SGHX458|Motorola-T33">

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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!