代码之家  ›  专栏  ›  技术社区  ›  Andrew

在ASP.NET MVC2中,制作网站的移动版本的最佳方法是什么?

  •  1
  • Andrew  · 技术社区  · 14 年前

    我最近一直在考虑这个问题,我不知道一个真正好的整洁的方法来创建现有或新的MVC2网站/应用程序的移动版本。

    我认为最简单的方法是使用不同的样式表,这取决于是否检测到移动设备,但有时如果到处都有大量的内嵌图像或其他原因,您也需要更改视图内容。

    有什么好方法可以解决这个问题?有什么方法可以很容易地在 MVC2 ?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Matteo Mosca    14 年前

    好吧,MVC只是您的服务器端技术,您应该问自己“创建移动网站的最佳实践是什么,而不管服务器端技术是什么”。

    在我看来,创建一个格式良好的语义(x)HTML是第一步。正如您所说,最合乎逻辑的做法是为不同的媒体类型创建不同的样式表,您是对的。

    至于您提到的问题,如内联图像,请考虑以下问题:这些图像是内容还是表示形式?

    在第一种情况下,它们甚至应该出现在移动版本中。 在后者中,它们是在样式表中定义的,因此您可以在移动CSS中简单地避免它们。

    我能想到的唯一例外是当你想在移动设备上提供不同的功能,或者如果你被迫这样做,即在那些严重依赖JS的页面上,那些脚本不会在移动浏览器上运行。在这种情况下,您可能希望创建这些页面的不同版本,并基于用户代理提供适当的版本。

        2
  •  2
  •   heads5150    14 年前

    检查源代码 NerdDrinner . 他们实现了一个从基WebFormViewEngine类继承的MobileCapableWebFormViewEngine类。MobileCapableWebFormViewEngine使用httpContext来决定在客户端中呈现哪个视图。当您看到源代码时,这将更有意义。