在ASP.NET中创建一个适用于Blackberry,Windows Mobile和iPhone的迷你站点

时间:2008-09-12 16:20:24

标签: asp.net windows-mobile mobile

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

设置此功能的最佳方式是什么,以便它可以在Blackberry,Windows Mobile和iPhone上运行?

我应该查看ASP.NET Mobile支持,还是仅浏览自己的网页?

更新:这是针对m.microsoftpdc.com的。我们使用了/ Mobile子文件夹方法,并使用了Scott Hanselman's iPhone tips for viewport and other stuff

5 个答案:

答案 0 :(得分:7)

我过去已经这样做了,我这样做的方法是通过为Desktop创建一个目录并为Mobile创建一个目录来分隔页面。这使您可以更好地分离视图,因为实际上它们有很多不同。在ASP.NET Forms中,我使用了Model View Presenter模式,因为它采用了ASP.NET Forms最佳运行方式。这样我可以在两个视图之间重用一些代码。然后在站点的index.aspx页面中,您只需解析请求的用户代理字符串,以确定浏览器并相应地重定向。因此,例如有iphone的人来到您的网站,您解析user-agent string并找出它是一部iphone。然后重定向到指向Mobile / Index.aspx页面的m.sample.com。否则,您将重定向到Desktop / Index.aspx。

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

修改

由于我们没有定位支持WML的手机,因此我只推出了自己的网页。这是我认为使用ASP.NET Mobile支持的唯一原因,如果你也想支持支持WML的手机。

答案 1 :(得分:1)

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

从你描述你的应用程序(JUST文本)的方式来看,你应该可以在那里点击任何支持互联网的手机,这几乎是过去八年中销售的所有手机。

滚动自己可能会让您更好地控制内容的显示和导航方式,这是您的用户会欣赏的,但是您将失去大部分自动格式化和高级交互功能,就像ASP.NET Mobile可能会给您带来的那样。根据您预计用户社区在未来两年内将采用的方式,您可能需要考虑这种权衡。

他们是否有可能在移动端要求更多桌面功能?如果它可能是“是”(当我想到你所针对的3个平台时更是如此)那么我会推荐一些像ASP.NET mobile这样的自动格式化/启用工具。如果没有,只需滚动自己,让访问者可以轻松使用。

答案 2 :(得分:0)

我从个人经验中知道,你真的没有什么需要为iPhone做的。我通常只是用我的iPhone浏览你的常规网站。

虽然只是我的两分钱。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

今年(2009年),Mix宣布了mdbf。有关使用它来根据需要识别和重定向移动浏览器的示例,请参阅this videothis blog post by Scott Hanselman