gpt4 book ai didi

asp.net - 移动ASP.NET技术

转载 作者:行者123 更新时间:2023-12-02 19:07:24 28 4
gpt4 key购买 nike

您在 ASP.NET 中使用移动设备的技术是什么?我知道如何检测移动设备,但我很难找到一种在移动设备上显示我的页面的好方法。

我正在考虑只做一个多 View 并在移动时显示移动 View ,但是除非我这样做,否则这不适用于我们的母版页,我宁愿将页面重定向到移动版本。

但我希望这种情况自动发生,不想将代码添加到每个页面,我使用了 HttpModule,但它会导致网站中的每个对象都使用它,只希望在 aspx 页面上使用它,所以我只是使用了一个放在母版页顶部的用户控件。

我还在树中添加了一个名为 mobile 的文件夹,其中包含每个移动设备的文件夹,因此如果它们转到 ~/Account/Login.aspx ,它会重定向到 ~/Account/Mobile/IPhone/Login.aspx 但我有排除移动设备中的母版页,否则它将陷入无限循环:)

我喜欢 MVC 的方式,他们有一个仅重定向的自定义 ViewEngine,但由于我的公司需要一些 ASP.NET 控件,我无法使用 MVC。

想法?

最佳答案

这在很大程度上取决于特定的网站以及是什么促使您考虑拥有该网站的移动版本。您有多少内容不适合移动浏览器(例如 Flash、AJAX)?您提到的这些自定义控件有多复杂?

我个人认为最好尝试将您的主网站设计为兼容使用较新的智能手机(例如 iPhone、Android)浏览的用户,因为它们变得非常流行且功能越来越强大。这些手机的浏览器通常基于 WebKit,因此在 Chrome 或 Safari 中进行测试至少可以了解您的页面的运行情况。

如果有必要,您可以为桌面和移动设备使用略有不同的样式表。您可以通过隐藏不重要的内容和简化导航来使页面更易于访问。

ASP .NET 实际上内置了一个复杂的设备过滤系统,因此您可以更改页面的某些部分,甚至是要使用的母版页,具体取决于当前的浏览器。参见这里:http://ryanfarley.com/blog/archive/2008/08/14/more-on-device-filtering-with-asp.net-server-control-properties.aspx 。您只需确保您的浏览器定义是最新的。

避免使用复杂的 ASP .NET 控件(例如 GridView),因为您对 HTML 和 CSS 的控制较少。像 ListView 这样的控件更加灵活。

某些功能(例如 AJAX)在某些设备上可能会出现一些问题,尤其是在您使用 AJAX UpdatePanel 时。您可以使用模拟器来测试这些场景。或者,您可以在移动设备上禁用这些功能。假设您甚至使用它们。

为了适应低端设备,您可以拥有一个并行运行的单独移动网站。要创建移动页面,您需要继承System.Web.UI.MobileControls.MobilePage,而不是普通的 Page 类。 W3Schools 有一些有用的信息:http://www.w3schools.com/dotnetmobile/control_mobilepage.asp 。请注意,移动网络表单现已被弃用,因此它不被视为前进的方向。

如果您要并行运行两个或多个站点,并且两个站点都需要复杂的逻辑,那么您可以创建一个类库来保存共享功能。它会消除一些重复的代码。

为了避免重定向到移动版本时出现无限循环,只需检查当前 URL 以查看它是否包含移动网站的基本 URL。最简单的方法可能是在主页上进行重定向,但在每个页面上的某个位置都有一个链接,单击该链接即可转到移动版本。

总的来说,这是一个非常复杂的主题,因此也许可以考虑买一本合适的书。

关于asp.net - 移动ASP.NET技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502864/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com