asp.net開發wap必備:更好的匹配手機設備
發表于:2007-06-30來源:作者:點擊數:
標簽:
雖然微軟說asp .net 能夠匹配各種手機設備,但是手機型號眾多,微軟收集的手機資料有限,所以導致 asp.net對很多手機匹配錯誤,本來可以支持html的卻生成html,本來只支持wml的,缺生成了html導致手機無法瀏覽;我們不能等待微軟偶爾發布一個設備更新包---更
雖然微軟說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.kjueaiud.com