这取决于您是否真的要支持每部手机,还是只支持高端或新手机,例如在呈现网页时没有太多限制的 iPhone。如果您可以要求真正的HTML 渲染、Javascript 和cookie 支持在手机上作为要求,那么真正的限制是屏幕的有限尺寸。您应该在 ASP.NET 中进行“正常”的 Web 开发,注意页面的大小。
如果是这样,你可以在这里停止阅读。
如果您真的想支持每一部手机,尤其是旧手机,您应该知道有不同类型的手机。其中许多具有显示网页的限制和约束。其中一些可以使用 JavaScript,但其中许多不能。其中一些可以显示 HTML 内容,但许多其他不能。他们必须依靠“无线标记语言”标准来访问网络。因此,要构建一个支持所有这些不同设备的网站并不容易。
这里有一些一般内容的链接(不是特定于 ASP.NET 的),可以帮助您了解整体情况:
然而,正如我已经提到的,它们的主要限制是屏幕比普通 PC 小。而且很多手机不支持JavaScript、Cookies,有的甚至不显示图片。
手机有特殊的标记标准。 WML 页面 是例如广泛采用的手机标准。 WML 代表基于 XML 的“无线标记语言”。你可以找到WML的描述和参考here on w3schools.com。
下面的代码显示了一个示例 WML 页面:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Stackoverflow">
<do type="accept" label="Menu">
<go href="#card2"/>
</do>
<p>
<select name="name">
<option value="Questions">Questions</option>
<option value="MyAccount">My account</option>
<option value="FAQ">FAQ</option>
</select>
</p>
</card>
<card id="card2" title="Menu">
<p>
You selected: $(name)
</p>
</card>
</wml>
好消息是,ASP.NET 自动呈现 WML(和其他移动标记标准)内容。您不必自己编写 WML 文件。内置机制检测 Web 请求的设备(手机)类型。但是,对于某些(较新的)设备,ASP.NET 上的移动设备检测无法正常工作。查看WURFL,这是一个 XML 配置文件,其中包含有关许多移动设备的功能和特性的信息。
您可以在标准的 Web 浏览器中测试您在 ASP.NET 中开发的页面,但它不会给出您所开发内容的正确图片。有一些模拟器可以解决这个问题,它们可以在您的台式计算机上模拟手机。有一个Microsoft support article 说明您可以在哪里下载它们。
ASP.NET 移动控件
ASP.NET 移动控件(以前称为“Microsoft 移动 Internet 工具包”)扩展了 .NET Framework 和 Visual Studio,通过使 ASP.NET 能够向各种移动设备提供标记来构建移动 Web 应用程序。
ASP.NET 移动控件在处理不同的屏幕尺寸、方向和设备功能时呈现适当的标记(HTML 3.2、WML 1.1、cHTML、XHTML)。
了解更多here on the official web site。