






















1. 概述
在 Microsoft .NET 中我们不仅可以用 ASP.NET 来创建一个基于 .NET 支持语言的台式机支持的动态页面 , 还可以用利用其中的 Microsoft .NET Mobile Internet Toolkit(MIT) 创建服务器端的 Web 应用程序 .MIT 是一种功能强大的工具 . 在运行时 ,MIT 能将开发者使用的语言 ( 如 C#,VB.NET) 转换成 WML, 并综合运用 ASP.NET,XML 和 C# 来创建无线应用程序 . 本文中使用的
软件环境 :Windows XP Proffesional with SP2;
Microsoft .NET 2003 中文版 ;
Openwave SDK 6.2.2;
硬件环境 :Mobile Pentium 4 2.2Ghz;
512MB Memory;
40GB HD;
2. 运行需求
在编写移动 Web 窗体应用程序之前 , 首先需要以下的软件环境 :
.Windows 2000,Windows XP,Windows Server 2003,Windows NT4.0 or higher;
.IIS: 需要正确配置你的 IIS这样才能在你的本地上运行编译好的 .aspx文件 ;
.Microsoft .NET Framework: 如果你安装了 Visual Studio .NET 2002 or higher(2003),那么你已经安装了 .NET Framework以 MIT.否则请到微软网站下载 :(msdn.microsoft.com/downloads);
.Microsoft Mobile Internet Toolkit 1.0: 下载地址 : http://msdn.microsoft.com/mobility/prodtechinfo/devtools/asp.netmc/default.aspx
.Openwave Mobile 浏览器 ,在 Openwave主页可以下载其 SDK;
3.Mobile Web Form 简介
以 Microsoft .NET Framework 为基础 ,我们创建的无线 Web内容可在同一个页中包含多个窗体 ,而且可在多种移动设备上获得支持 .利用这种技术 ,可根据所用的设备来显示不同的内容 .Mobile Internet Toolkit能检测到访问一个网页的设备类型 (我们称这种设备为 ”传入设备 ”),然后根据这个传入设备来生成正确的代码 ,不管他是 WML,HTML,还是 cHTML.
用 ASP.NET编写无线 Web内容要比编写冗长和复杂的 WML简单 ,因为网站的标记 (包含 WML,HTML或者 cHTML)是跟据用另一种语言编写的 ,容易理解的代码生成的 .这些标记在服务器端生成 ,我们认为网站是 ”动态的 ”.动态网站生成的实际内容会基于代码而改变 ,而不是有人亲自修改标记内容 .
创建移动 Web应用程序时 ,会创建带有 .aspx文件扩展名的一个 Web窗体 ,其中有用于显示网页的 .aspx文件代码 .其他需要在幕后执行的代码放在了一个 ”代码隐藏 (codebehind)”文件中 .代码隐藏文件定义了程序要是用的类和函数 ,准许程序员将 Web内容的呈现和功能 (程序逻辑 )分开 .如果你只是用到少量的代码 ,那么通常选择嵌入脚本的方法 .在本文中将采用代码隐藏文件来运行逻辑内容 .
4.Mobile Web Form 控件介绍
在 VS.NET 2003中的界面中创建一个 ASP.NET Web移动应用程序 :

点选确定后会出现以下的见面 .NET自动生成了一个移动 Web图形设计界面 :

移动 Web应用程序比普通的 Web应用程序要小许多 .那是因为浏览网页的设备的屏幕普遍都比较小 .因此为了适应接受设备的视觉效果 .我们在设计一个移动网站的时候要首先考虑到用户移动设备的显示分辨率问题 ,已达到最好的浏览效果 .
5. 代码分析
上面我给大家介绍了一个简单的移动 Web应用程序是如何创建的 .在这里我要给大家讲一下 ASP.NET是如何根据不同设备返回不同代码的 .
在之前我们通过 IE 和 Openwave 的 wap浏览器观看了在相同的 .aspx代码下服务器端根据客户端的设备给客户端返回了不同的界面 .那你可能会问这是怎么做到的呢 ?
让我们来看看服务器端返回的两种代码吧 :
这个是给 IE返回的 HTML代码 :
<html>
<body>
<form id="Form1" name="Form1" action="MobileWebForm1.aspx?__ufps=479067" method="get">
<input type="hidden" name="__EVENTTARGET">
<input type="hidden" name="__EVENTARGUMENT">
<script language="javascript"> <!--
function __doPostBack(target, argument){
var theform = document.Form1
theform.__EVENTTARGET.value = target
theform.__EVENTARGUMENT.value = argument
theform.submit()
}
// --></script>
welcome to the Wap world<br>
<input name="Command1" type="submit" value="Go to Form2">
<br>
<a href="http://wap.sina.com">Link to sina</a>
</form>
</body>
</html>
大家可能会说这些都是什么啊 ?我们不用详细了解代码的具体意思 .我们只需要来看看他的形式 .很明显这个是标准的 HTML代码 .其中加入了 JavaScript脚本语言 .
接下来再来看看服务器端返回给 Wap浏览器的代码 :
<meta http-equiv="Cache-Control" content="max-age=0">
<p:card>
<p>welcome to the Wap world<p:do type="accept" label="">
<p:go href="/MobileWebApplication2/(drn3lszsvbo5oh45mvflvw55)/MobileWebForm1.aspx">
<p:postfield name="__EVENTTARGET" value="Command1" />
<p:postfield name="__EVENTARGUMENT" value="$$(Command1:noesc)"></p:postfield>
</p:go>
</p:do>
<select name="Command1">
<option value="" selected>Go to Form2</option>
<option>Link to sina</option>
</select>
</p>
</p:card>
完全不一样的代码 .这个是基于 WML语言的代码 .在此我们已经初步了解了 ASP.NET在移动 Web应用程序中的应用了 .
6.Openwave 使用经验
在初次使用 Openwave的时候他的默认语言并不是中文 .因此如果你想要访问中文网站的话需要设置一下 Openwave的设置属性 :
选择 Tool->Option进入如下界面 :

选择 Language..选项

在其中选择 Chinese Simplified(zh-cn)并且在 Font和 Fixed width font 选项中选择一个中文字体 .这样就可以浏览中文网站了 .
如果你想看看服务器返回的 WML文档的话可以点选 View->Source或者按下 F5键 .就会弹出一个文本显示框 .在理面有 WML的代码 .
7. 总结
在现今的社会中越来越多的人依赖于移动设备 .我们可以用微软为我们准备好的基于 ASP.NET的大量控件创建美观快捷的移动网站 .并且我们在编写代码时并不需要太多的考虑接受设备的状态 .因为这些 ASP.NET都为我们考虑好了 .我们只需要编写标准的 ASP.NET代码并且加入正确的逻辑代码就可以了 .
如果你对 WML感兴趣的话还可以直接用 WML创建一些静态的网页 .可以参考 www.frontfree.net 上的 << 初识 WAP>> 一文进行 WML 的网站建设 .
8 .参考文献
清华大学出版社 << 无线因特网和移动商务编程经典 >>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。