我正在使用面向桌面浏览器的ASP.NET网站.我们要启用一个可选的移动视图(例如
http://m.sample.com),它将提供几个简单的页面,这些页面将主要是文本.将不需要AJAX甚至Javascript,并且没有用户输入 – 它只是具有几个链接的文本表格在页面之间导航.
什么是最好的方式来设置它,以便它可以在黑莓,Windows Mobile和iPhone上工作?
我应该看ASP.NET Mobile的支持,还是滚动我自己的页面?
更新:这是针对m.microsoftpdc.com.我们用/ Mobile子文件夹方法,并使用Scott Hanselman’s iPhone tips for viewport and other stuff.
解决方法
我以前做过这一切,我做的是通过创建桌面目录并创建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启用的手机.