【问题标题】:ASP.net for mobile and regular web browsers用于移动和常规 Web 浏览器的 ASP.net
【发布时间】:2011-03-25 22:03:18
【问题描述】:

我正在设计 ASP.net 网页,但不确定这是否是正确的方法。 我正在设计可以从普通计算机或移动设备(电话)访问的网站。 我想在第一页检测用户是来自移动浏览器还是普通浏览器并直接访问适当的页面。因此,对于移动用户,创建/显示单独的 UI(重新排列控件以适应移动设备),对于普通用户,创建/显示单独的 UI。后端功能将相同,但只是 UI。因此,在这种情况下,我将在同一个解决方案中创建两个单独的项目,一个用于移动 UI,另一个用于常规 UI,但代码相同。 这是个好主意吗?

感谢您的帮助。

【问题讨论】:

    标签: asp.net mobile


    【解决方案1】:

    在 Asp.Net 中,您与视图 (aspx) 紧密耦合。如果您需要为移动设备将一个大视图拆分为几个较小的视图,那您将很难过。

    我会做以下两件事之一: 1) 使用 asp.net MVC,它在这方面比普通的旧 asp.net 要好得多(但即使在这里它也不仅仅是一帆风顺)这里的例子:http://davidhayden.com/blog/dave/archive/2009/07/29/aspnetmvciphone.aspx

    2) 尽可能多地从 aspx/aspx.cs/master/master.cs 文件中提取所有常见逻辑(在任何情况下启用测试都是一个好主意),并且每个文件只有一个目录前端选项(不在两种模式之间重用实际的 aspx)

    拥有两个独立的项目可能只会让您对部署感到头疼,我想说在同一个项目中将模式拆分到它们自己的目录中就足够了。

    【讨论】:

      【解决方案2】:

      如果您在后端创建一个类,那么您不必在两个地方维护工作代码。您可以让页面后面的代码引用该类来完成所有繁重的工作。您仍然需要按照设置的方式维护两个页面,但任何修复/更新都可以只完成一次(假设它不是 UI 更改)。

      【讨论】:

        【解决方案3】:

        我认为你应该看看Mobile Web App toolkit。如果您使用 MVC,您可以制作 1 个项目。我建议您不要使用移动控件,它们已被弃用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-16
          • 2011-09-20
          • 1970-01-01
          • 2011-09-02
          • 2015-01-14
          • 2013-07-13
          • 2016-12-26
          • 1970-01-01
          相关资源
          最近更新 更多