在ASP.NET中创建一个可在Blackberry,Windows Mobile和iPhone上运行的微型站点

时间:2020-03-05 18:52:21  来源:igfitidea点击:

我正在针对台式机浏览器的ASP.NET网站上工作。我们要启用一个可选的移动视图(例如http://m.sample.com),该视图将提供一些简单的页面,大部分为文本。不再需要AJAX甚至Javascript,也没有用户输入,它实际上只是文本表,带有一些在页面之间导航的链接。

进行设置以使其在Blackberry,Windows Mobile和iPhone上都能正常工作的最佳方法是什么?

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

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

解决方案

回答

从个人经验中我知道,iPhone确实不需要做太多事情。我通常宁愿只用我的iPhone浏览常规站点。

不过只有我的两分钱。

回答

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

回答

我过去曾经这样做过,而我这样做的方式是通过为Desktop创建目录并为Mobile创建目录来分隔页面。这使我们可以更好地分离视图,因为实际上它们有很大的不同。在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的电话。

回答

我们仅确定了3个手机"平台"作为目标。要考虑的一件事是,还有更多的非Blackberry / Windows Mobile / iPhone手机可能会在受众中占多数。 (?)

从描述应用程序的方式(仅文本)来看,我们应该能够找到几乎所有支持Internet的手机,这几乎是过去八年来售出的所有手机。

滚动自己的内容可能会给我们更多控制内容显示和导航方式的功能,用户会喜欢,但是我们将失去ASP.NET Mobile之类的自动格式化和高级交互功能。我们可能希望根据未来两年用户社区的发展情况来权衡这一点。

他们是否有可能要求在移动端提供更多的桌面功能?如果可能的答案是"是"(当我想到我们要定位的3个平台时更是如此),那么我建议我们使用一些自动化的格式设置/启用工具,例如ASP.NET移动版。如果不是的话,就自己动手制作,让访问者轻松简单地使用它。

回答

在今年的Mix(2009)上,mdbf被宣布。有关使用该视频识别和重定向移动浏览器的示例,请参见该视频或者Scott Hanselman的此博客文章。