`
pumaboyd
  • 浏览: 248567 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

.NET WAP开发及兼容问题

    博客分类:
  • wap
阅读更多

.NET WAP开发中遇到的问题汇总,主要总结一下在.NET WAP开发下浏览器的兼容及相关问题的处理。针对的是WML1.1的规范。

设置Emptyok= “true”
在WML中input 标签有一个emptyok的属性。表示用户可否不填输入框,默认为false,即要填,为true时可以不填。从理论上讲这是一个很好的属性,可以减少用户输入为空的判断。但实际运用中,首先不是所有手机浏览器支持,但最严重的问题是,一但你设置了emptyok=false,在有些手机中会将整个页面的 URL的链接点击都触发这个是否为空的判断。所以从兼容性的角度,请设置emptyok=true,在后代码进行判断。
WML实体替换

wml_spcial_word
来自:http://www.w3school.com.cn/wap/wml_entities.asp

这是个很通用的问题,也就是说,要对WAP下的输出进行文本内容替换。

data = data.Replace(”&”, “&”);
data = data.Replace(”\”", “”");
data = data.Replace(”‘”, “‘”);
data = data.Replace(”<”, “<”);
data = data.Replace(”>”, “>”);

主要还是上面5个特殊字符的替换,空格是一个比较特殊的例子。下面我会具体解释.

WML下的空格
从理论上空格只要替换成  &nbsp; 这个实体就可以了。可有些手机中确直接显示 &nbsp;  ,当然你不是很在意可以忽略。但这里可以提供一个好的解决办法,就是将空格替换成实体编码 &#160;这样基本上有空格的地方都显示正常了。

不使用CData嵌套内容
XML中的CData其实就是为了解决长文本中含有特殊字符的问题。但如果你希望通过<–!CData[]–>,而不是采用特殊字符替换成实体。你会发现有些手机浏览器,直接将这段内容不显示。所以,在目前的情况下,还是请使用WML实体替换吧。

IE下显示WAP页面
大家都知道,在IE下如果直接访问WML1.1的WAP站点,会提示你文件下载。但如果你希望在IE下也可以正常访问WML1.1,而用户又不需要通过安装或设置,或是通过第三方网站。你可以通过URLRewrite的方式,只要IE访问的WAP1.1的站点请求的页面后缀是*.html,*.htm等的,同样可以直接访问WAP站点,而不会提示文件下载。

防止客户端手机缓存页面

手机客户端默认情况下可能会缓存经访问过的页面内容,这样有可能照常用户看到的内容不是更新的,所为一般情况,会要求客户端不缓存页面内容。在输入的内容页中添加如下<meta http-equiv=“Cache-Control” content=“no-cache”>即可。其原理和www网站类似。

WAP编码问题
不累赘,可以参考 使用.NET进行WAP开发 一文

Request参数读取
这个就要提到asp.net中参数读取问题。

request["key"]
request.form["key"]
request.query["key"]

基本上就三种,第一种会自动判断是form还是query,但在WAP开发中需要明确指定request.form还是request.query,如果使用第一种在有些手机中将无法读取到参数值。这是个很迷惑的问题,但还是请指明读取的方式。

card包含P标签

也是手机兼容的问题。主要还是标签的写法上。如果直接在节点中输入内容,有些手机将无法正确读取。所以card下面至少要包含一个标签p。<card><p></p></card>

使用相对路径,而不是绝对路径
这个问题的实质是因为使用了ASP.NET的自动支持Cookie的问题。在.NETWAP开发一文中,提到在不支持Cookie的手机中,ASP.NET会自动将当前的SeesionID隐藏在url中。这样如果你直接使用 “/search.aspx”,这样的绝对路径,将会丢失sessionid。所以在WAP的架构和设计上我们采用一层目录的概念,来简化开发中对 seesionid的处理。如果你使用.NET,并且希望更好的支持手机客户端,目前的经验使用相对路径是最好的选择。

大概总结到这,目前我们已经升级到WAP2.0了,也碰到不少兼容的问题,还正在解决中,也希望大家有好的经验来分享。感觉相比WWW,Moile 市场的浏览器更是混乱。而且WAP2.0比WAP1.1的兼容问题,更麻烦。 就连同一型号,同样内置,同样版本的手机,也有兼容问题。

分享到:
评论
1 楼 Tomzheng 2010-03-25  
哥们厉害。继续总结,受教!

相关推荐

    Asp.Net开发地wap手机网站

    在Asp.Net技术框架下开发wap手机网站,可以利用其强大的功能和灵活性为移动用户提供便捷的Web服务。WAP(Wireless Application Protocol)是无线应用协议,主要用于将互联网内容优化到移动设备上,使得用户可以通过...

    asp.net开发WAP+.pdf

    开发者在开发WAP+应用时,可能会涉及到设备同步的问题,比如将联系人、邮件、日历等信息从移动设备同步到桌面应用,或是反过来。这对于提升用户体验至关重要,因为用户通常希望在不同设备间无缝地切换,以获取最新的...

    运用Asp.Net Mobile Controls 开发面向移动平台的Web Application

    为此,Asp.Net Mobile Controls及MMIT特别关注于不同设备之间的兼容性问题,只需要关注业务逻辑,而无需关心具体的设备细节。 图1.1展示了Asp.Net Mobile的架构,包括MMIT Runtime Rendering Engine,它位于Web应用...

    使用ASP.NET MVC 2 开发Mobile WebSite

    - **Mobile Device Browser File (MDBF)**:通过访问http://mdbf.codeplex.com/,可以获取有关各种移动设备及其浏览器的信息,这对开发兼容性良好的Mobile Website非常重要。 - **.NET Framework 3.5 SP1+**:这是...

    农业银行支付接口demo .net版

    为了适应不同环境和大量并发请求,开发者需要考虑接口调用的兼容性,如支持不同的.NET框架版本,并进行性能优化,减少接口调用延迟,提高用户体验。 通过这个.NET版的农业银行支付接口demo,开发者可以全面了解和...

    ASP.NET源码——[交友会员]自由领域NET版WEB+WAP同学录.zip

    这个压缩包文件包含的是一个基于ASP.NET技术开发的交友会员系统,专为实现WEB和WAP(移动设备)双平台的同学录应用。ASP.NET是微软公司推出的Web应用程序框架,它允许开发者使用.NET Framework构建动态网站、Web应用...

    关于.NET的外文翻译,有中文翻译和外文

    本文档将深入探讨ASP.NET中的两种主要开发模型:网站模型(Website Model)和Web应用程序项目模型(Web Application Project, WAP),并着重讲解它们在构建、编译及部署过程中的差异和优势。 #### 二、ASP.NET的...

    wap网站开发.pdf

    对于WAP 2.0,ASP的问题得到了解决,但仍推荐使用JSP或ASP.NET。 3. **ASP与ASP.NET**:ASP(Active Server Pages)是微软的早期服务器端脚本技术,主要用于构建动态网页。ASP.NET则是ASP的升级版,支持更现代的...

    wap程序---微软的程序

    在本篇内容中,重点是讨论如何使用ASP.NET进行WAP程序开发,以及解决在开发过程中遇到的设备匹配问题。 描述中提到的“asp.net开发wap必备”,暗示了使用ASP.NET框架创建WAP应用程序时可能会遇到的问题。ASP.NET是...

    wap网站开发[借鉴].pdf

    在WAP 2.0下,Asp的这个问题已得到解决,但在WAP 1.2的环境下,Jsp由于与中国联通和中国移动提供的接口兼容性更好,且性能更优,所以推荐使用Jsp。 4. **IIS上的WAP网站配置**: - **创建独立站点文件夹**:在IIS...

    蓝色小程序网站pbootcms模板-小程序电商软件开发公司网站源码(pc+wap)

    【标题】中的“蓝色小程序网站pbootcms模板-小程序电商软件开发公司网站源码(pc+wap)”表明这是一个基于PbootCMS内容管理系统构建的网站模板,特别适用于小程序电商软件开发公司的在线展示。该模板采用蓝色为主...

    windows mobile开发常见问题锦集

    8. 兼容性问题:使用Visual Studio .NET 2003开发的应用程序可以在Windows Mobile 5上运行,因为Windows Mobile 5 ROM内置了.NET Compact Framework 1.0 SP3。 9. 数据库选择:尽管SQL CE可能较大,但开发者仍可以...

    主流开发技术现状 ppt

    C#不仅支持Web程序开发,还能进行WinForm(C/S)程序开发,以及快速的Wap开发。 从市场表现来看,2004年,Sun Microsystems虽然在销售上有增长,但主要得益于与微软的和解协议,而微软则保持了强劲的销售额和利润...

    wap新世纪asp整站源码程序

    WAP网站通常采用WML(Wireless Markup Language)或XHTML MP(Mobile Profile)作为其标记语言,但这个程序使用的是HTML,可能是因为它旨在兼容更广泛的设备和浏览器。 在描述中提到“修改了一些错误”,这表明源码...

    掌上手机wap网站源码

    掌上湖北wap网站利用了WAP2.0的特点,能够兼容多种类型的手机浏览器,确保用户在不同设备上的良好浏览体验。 对于初学者来说,这个源码具有很高的学习价值。通过研究和分析,可以了解到如何利用`VS2008`和`Access`...

Global site tag (gtag.js) - Google Analytics