开始为移动设备(任何手机)构建Web应用程序.
使用ASP.NET 3.5/ASP.NET 4.0和C#的最佳方法是什么?
更新(feb2010)
使用Windows Mobile 7的任何新闻?
这取决于你是否真的想要支持每一部手机,或者只支持像iPhone一样的高端手机或新手机,这些手机在渲染网页方面没有太多限制.如果你可以要求真正的HTML渲染,手机上的Javascript和cookie支持,那么真正的限制就是屏幕的大小有限.您应该在ASP.NET中进行"正常"Web开发,并注意页面的大小.
如果是这种情况,你可以在这里停止阅读.
如果你真的想支持每部手机,特别是旧手机,你应该知道有不同类型的手机.其中许多都有显示网页的限制和约束.其中一些可以使用JavaScript,但其中许多都不能.其中一些可以显示HTML内容,但许多其他人不能.他们必须依靠"无线标记语言"标准来访问网络.因此,构建支持所有这些不同设备的网站并不容易.
以下是一些内容的链接(不是特定于ASP.NET的),这有助于全面了解:
移动网络最佳实践1.0(W3C)
移动Web开发人员指南(dotMobi)
然而,正如我已经提到的,它们的主要限制是屏幕比普通PC更小.许多手机不支持JavaScript,但有些手机甚至不显示图像.
手机有特殊的标记标准.例如,WML页面是用于手机的广泛采用的标准.WML代表基于XML的"无线标记语言".您可以在w3schools.com上找到WML的描述和参考.
下面的代码显示了一个示例WML页面:
You selected: $(name)
好消息是,ASP.NET自动呈现WML(和其他移动标记标准)内容.您不必自己编写WML文件.内置机制检测Web请求的设备类型(手机).但是,ASP.NET上的移动设备检测对某些(较新的)设备无法正常工作.查看WURFL,这是一个XML配置文件,其中包含有关许多移动设备的功能和功能的信息.
您可以在标准Web浏览器中测试在ASP.NET中开发的页面,但它无法正确显示您开发的内容.有一些模拟器可用于此问题,它模拟台式计算机上的手机.有一篇Microsoft支持文章介绍了可以下载它们的位置.
ASP.NET Mobile Controls(以前称为"Microsoft Mobile Internet Toolkit")扩展了.NET Framework和Visual Studio,通过使ASP.NET能够为各种移动设备提供标记来构建移动Web应用程序.
ASP.NET移动控件在处理不同的屏幕大小,方向和设备功能时呈现适当的标记(HTML 3.2,WML 1.1,cHTML,XHTML).
在官方网站上了解更多信息.