14

我正在开发一个针对桌面浏览器的 ASP.NET 网站。我们希望启用一个可选的移动视图(例如http://m.sample.com),它将提供一些主要是文本的简单页面。不需要 AJAX 甚至 Javascript,也不需要用户输入——它实际上只是带有几个链接的文本表格,用于在页面之间导航。

设置它以使其适用于 Blackberry、Windows Mobile 和 iPhone 的最佳方法是什么?

我应该查看ASP.NET Mobile支持,还是只是滚动我自己的页面?

更新:这是为 m.microsoftpdc.com 准备的。我们采用 /Mobile 子文件夹方法,并使用Scott Hanselman 的 iPhone 技巧来处理视口和其他内容

4

5 回答 5

7

我过去曾这样做过,我这样做的方式是通过为桌面创建目录并为移动设备创建目录来分离页面。这使您可以更好地分离视图,因为实际上它们有很大不同。在 ASP.NET Forms 中,我经常使用Model View Presenter模式,因为它与 ASP.NET Forms 发挥最佳功能的方式相得益彰。这样我就可以在两个视图之间重用一些代码。然后在站点的 index.aspx 页面中,您只需解析请求的用户代理字符串以找出浏览器并相应地重定向。因此,例如一个拥有 iphone 的人来到您的网站,您解析用户代理字符串并弄清楚它是一部iphone。然后您重定向到指向 Mobile/Index.aspx 页面的 m.sample.com。否则,您将重定向到 Desktop/Index.aspx。

我在页面级别解析了用户代理字符串,当然你也可以在 HttpModule 或 HttpHandler 级别执行这种逻辑。

编辑

我只是推出了自己的页面,因为我们的目标不是支持 WML 的手机。在我看来,这将是使用 ASP.NET Mobile 支持的唯一原因,如果您还想支持启用 WML 的手机。

于 2008-09-12T16:36:59.690 回答
1

您只确定了 3 个手机“平台”作为您的目标。需要考虑的一件事是,那里有更多非黑莓/Windows Mobile/iPhone 手机,也许它们将成为您的大多数观众。(?)

从您描述您的应用程序的方式(仅文本)来看,您应该可以使用几乎所有支持 Internet 的手机,这几乎是过去八年销售的所有手机。

滚动您自己的可能会让您更好地控制内容的显示和导航方式,您的用户会喜欢的,但是您将失去像 ASP.NET Mobile 这样的东西可能为您提供的大部分自动格式化和高级交互功能。鉴于您预计您的用户社区在未来 2 年内将采用这种方式,您可能需要考虑这种权衡。

他们是否有可能在移动端要求更多的桌面功能?如果它可能是“是”(当我想到您所针对的 3 个平台时更是如此),那么我会推荐一些自动格式化/启用工具,如 ASP.NET 移动。如果没有,请自行开发并让访问者简单易用。

于 2008-09-15T17:46:57.967 回答
0

我从个人经验中知道,你真的不需要为 iPhone 做太多事情。我通常宁愿用我的 iPhone 浏览您的常规网站。

只是我的两分钱。

于 2008-09-12T16:24:58.313 回答
0

基于用户代理的不同样式表将处理“漂亮”。您在使用母版页吗?您还可以使用设备过滤器根据设备设置不同的主设备。

于 2008-09-12T16:26:16.283 回答
0

在今年(2009 年)的 Mix上, mdbf被宣布。有关使用它来根据需要识别和重定向移动浏览器的示例,请参阅此视频Scott Hanselman 的此博客文章。

于 2009-04-30T12:09:50.180 回答