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

发布于 2024-09-07 06:15:26 字数 256 浏览 11 评论 0原文

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

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

对此有什么好的方法吗?在 MVC2 中是否有一种相当容易的主题化方法?

I've been thinking about this recently and I don't know a really nice and tidy way of creating a mobile version of an existing or new MVC2 website/app.

I think the easiest way would be to just use a different stylesheet depending on whether a mobile was detected but sometime you need to change the view content too if you have massive inline images everywhere or for other reasons.

What is a good approach for this? Is there a way of theming fairly easily in MVC2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦途 2024-09-14 06:15:26

那么 MVC 只是您的服务器端技术,您应该问自己的是“无论服务器端技术如何,创建移动网站的最佳实践是什么”。

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

至于您提到的问题,例如内嵌图像,请考虑以下问题:这些图像是内容还是演示?

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

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

Well MVC is just your server-side technology, what you should ask to yourself is "what is the best practice to create a mobile web site, regardless of the server side tech".

In my opinion, creating a well-formed and semantic (x)html is the first step. As you say, the most logical thing to do is create different style sheets for different media types, and you're right.

As for the problems you mention, like inline images, consider this: are those images content or presentation?

In the first case, they should be present even in the mobile version.
In the latter, they are defined in the style sheet, so you can simply avoid them in the mobile css.

The only exception I can think of is when you want to provide different functionality on mobile, or if you're forced to, i.e. on pages that rely heavily on JS and those scripts wouldn't run on mobile browsers. In this case, you might want to create different versions of those pages and serve the appropriate version based on the user agent.

星星的轨迹 2024-09-14 06:15:26

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

Check the source code for NerdDrinner. They've implementated a MobileCapableWebFormViewEngine class which inherits from base WebFormViewEngine class. The MobileCapableWebFormViewEngine uses the HTTPContext to decide which View to render in the client. This'll make more sense when you see the source code

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文