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/
???????????最后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开发心得
原文地址:https://www.cnblogs.com/swdhywhd/p/10311146.html