1. 程式人生 > >asp net wap開發心得

asp net wap開發心得

set rms ext 添加 其它 conf download 出現 內容

asp.net wap開發心得

用ASP.NET開發,ASP.NET開發WAP站點,實在簡單,就是一個移動控件的運用,根本不用懂WML語法.唯一不同的,就是一個ASPX文件可以支持多個FORM,不同FORM之間可以切換,
最後ASP.NET根據訪問的設備,輸出不同的內容,
如果用IE訪問就輸出HTML,手機訪問,輸出WML,
不過在開發過程中也遇到了很多問題,一些問題總結如下:
1.模擬器選擇:
WINWAP,
M3Gate,
UP.SDK4.0,(推薦)
OPenWave 5.0 (測試時需要),
OPenWave6.2, (IIS 6.0應用,IIS5.0可能顯示,但會有問題)
CheckCom WAPBrowser 3.2
模擬器問題:
ASP.NET把一些常有的模擬器,的配制信息用正則表達式寫在Machine.config裏
在上述的模擬器中,我只有UP.SDK4.0,OPenWave 5.0,
他們只是一個公司的產品:
需要下載,配制文件驅動更新:現在最新版本是技術分享圖片
evice 4下載請到這裏下載:
http://www.microsoft.com/downloads/details.aspx?FamilyId ... B1-4DD61A5B7CCB&displaylang=en
但是,即使驅動更新以後,還是一些設備不能訪問:
這時需要強制輸出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"/>
preferredRenderingType = "wml11"
preferredRenderingMime = "text/vnd.wap.wml"
preferredImageMime = "image/vnd.wap.wbmp"
</browserCaps>
如果定義相關其它屬性可以完整的移動設置屬性:
<browserCaps>
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<use var="HTTP_USER_AGENT"/>

browser=Unknown
version=0.0
majorversion=0
minorversion=0
frames=false
tables=false
cookies=false
backgroundsounds=false
vbscript=false
javascript=false
javaapplets=false
activexcontrols=false
win16=false
win32=false
beta=false
ak=false
sk=false
aol=false
crawler=false
cdf=false
gold=false
authenticodeupdate=false
tagwriter=System.Web.UI.Html32TextWriter
ecmascriptversion=0.0
msdomversion=0.0
w3cdomversion=0.0
platform=Unknown
css1=false
css2=false
xml=false

mobileDeviceManufacturer = "Unknown"
mobileDeviceModel = "Unknown"

gatewayVersion = "None"
gatewayMajorVersion = "0"
gatewayMinorVersion = "0"

preferredRenderingType = "wml11"
preferredRenderingMime = "text/vnd.wap.wml"
preferredImageMime = "image/vnd.wap.wbmp"

defaultScreenCharactersWidth = "12"
defaultScreenCharactersHeight = "6"
defaultScreenPixelsWidth = "96"
defaultScreenPixelsHeight = "72"
defaultCharacterWidth = "8"
defaultCharacterHeight = "12"
screenBitDepth = "1"
isColor = "false"
inputType = "telephoneKeypad"

numberOfSoftkeys = "0"
maximumSoftkeyLabelLength = "5"

canInitiateVoiceCall = "false"

canSendMail = "true"
hasBackButton = "true"
rendersWmlDoAcceptsInline = "true"
rendersWmlSelectsAsMenuCards = "true"
rendersBreaksAfterWmlAnchor = "false"
rendersBreaksAfterWmlInput = "false"
rendersBreakBeforeWmlSelectAndInput = "true"
requiresAttributeColonSubstitution = "true"
requiresPhoneNumbersAsPlainText = "false"
requiresUrlEncodedPostfieldValues = "false"
requiredMetaTagNameValue = ""
rendersBreaksAfterHtmlLists = "true"
requiresUniqueHtmlCheckboxNames = "true"
requiresUniqueHtmlInputNames = "true"
requiresUniqueFilePathSuffix = "true"
supportsCss = "false"
hidesRightAlignedMultiselectScrollbars = "false"
canRenderAfterInputOrSelectElement = "true"
canRenderInputAndSelectElementsTogether = "true"
canRenderOneventAndPrevElementsTogether = "true"
canCombineFormsInDeck = "true"
canRenderMixedSelects = "true"
canRenderPostBackCards = "true"
canRenderSetvarZeroWithMultiSelectionList = "true"
supportsImageSubmit = "true"
supportsSelectMultiple = "true"
requiresHtmlAdaptiveErrorReporting = "false"
requiresContentTypeMetaTag = "false"
requiresDBCSCharacter = "false"
requiresOutputOptimization = "false"
supportsAccesskeyAttribute = "false"
supportsInputIStyle = "false"
supportsInputMode = "false"
supportsIModeSymbols = "false"
supportsJPhoneSymbols = "false"
supportsJPhoneMultiMediaAttributes = "false"
maximumRenderedPageSize = "2000"
requiresSpecialViewStateEncoding = "false"
requiresNoBreakInFormatting = "false"
requiresLeadingPageBreak = "false"
supportsQueryStringInFormAction = "true"
supportsCacheControlMetaTag = "true"
supportsUncheck = "true"
canRenderEmptySelects = "true"
supportsRedirectWithCookie = "true"
supportsEmptyStringInCookieValue = "true"
cachesAllResponsesWithExpires = "false"
requiresNoSoftkeyLabels = "false"
defaultSubmitButtonLimit = "1"

supportsBold = "false"
supportsItalic = "false"
supportsFontSize = "false"
supportsFontName = "false"
supportsFontColor = "true"
supportsBodyColor = "true"
supportsDivAlign = "true"
supportsDivNoWrap = "false"
supportsCharacterEntityEncoding = "true"

isMobileDevice="false"
</browserCaps>
具體屬性的意思可以考試MSDN:設備功能列表
ms-help://MS.MSDNQTR.2003FEB.2052/mwsdk/html/mwlrfDeviceCapabilitiesTable.htm

2.鏈接:
在同一個aspx文件,使用Link控件的,#FORM來切換不同Form時在 OPenWave 5.0測試會出現錯誤!
建議在程序通過ActiveForm來做
3.亂碼:
如果在開發過程出現亂碼,通過修改Web.Config
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
4.取消移動設備緩存:
Page.Response.Expires = -1;
Response.CacheControl = "Public";
5.重定向
重定向通過
RedirectToMobilePage函數
不過使用過程中可能會出現一些問題
建議用Link控件來代替

一些開發資料:
http://msdn.microsoft.com/mobility/downloads/sdks/default.aspx

http://www.dotnet247.com/247reference/__site/72

http://www.wapease.com

http://www.sp-forum.org/download/list.asp?type=14

http://www2.chn.monternet.com:808 ... /DevWapSimulator.jsp

http://www.tech-archive.net/Archive/DotNet/mic ... et.framework.aspnet.mobile/

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow

asp net wap開發心得