【问题标题】:ASP.NET MVC MOBILE Controller Route to SubdomainASP.NET MVC MOBILE 控制器路由到子域
【发布时间】:2011-03-06 23:00:27
【问题描述】:

我目前有一个存在的 ASP.NET MVC 应用程序。我想在网站上添加一个适合移动设备的小型部分。我想保持它非常简单并将http://mdbf.codeplex.com/ 集成到我的项目中。然后在 Home/Index 检查是否是移动的,然后将它们转发到移动控制器 (http://mysite.com/mobile/index)。

但是,我还想设置,如果他们键入 http://m.mysite.com,它将自动显示移动/索引,而 URL 不是 (http://m.mysite.com/moble/index。另外,假设我在移动控制器中有另一个操作方法。我想要能够做http://m.mysite.com/MobileList 而不是必须做http://m.mysite.com/Mobile/MobileList

关于如何完成这项工作有什么想法吗?我需要弄乱路线吗?目前我只是使用默认提供的默认控制器/动作/id 路由。同样,我试图让这一切尽可能简单。

【问题讨论】:

    标签: asp.net-mvc mobile routing subdomain


    【解决方案1】:

    您真的需要单独的控制器吗?我们做的事情很像this post。我们使用相同的控制器但不同的视图,以及一个自定义的 ViewEngine 来选择。简单、有效,无需单独的 URI。

    【讨论】:

    • +1。我同意克雷格的观点。如果您想保持简单,请为移动版和桌面版保留相同的控制器,并让(自定义)ViewEngine 根据用户代理和/或请求的域提供不同的视图。
    • 我遇到的问题是无法始终保证移动性。我看到的是mobile.site.com 的人,这将迫使他们进入移动模式(我的想法是将他们引导到移动控制器)对吗?
    • 如果您想强制移动,您可以在自动检测工作后添加该功能。我们用 cookie 来做。实际上,它仅用于测试;自动检测始终适用于其他情况。您的需求可能会有所不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2014-10-21
    • 1970-01-01
    相关资源
    最近更新 更多