首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC3路由-不同区域的相同URL

ASP.NET MVC3路由-不同区域的相同URL
EN

Stack Overflow用户
提问于 2011-04-05 02:24:09
回答 2查看 1K关注 0票数 1

我的MVC3项目有一个叫做Mobile的区域。以下是从桌面浏览器和移动浏览器访问我的站点时的行为:

  1. 桌面浏览器: URL停留mydomain.com,默认桌面主页是正确的iPhone浏览器: URL更改到mydomain.com/ mobile /Home,移动主页被正确显示。

无论是从桌面浏览器还是移动浏览器中查看,我都希望URL保持mydomain.com。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-05 04:00:48

尝试为移动设备使用ActionName过滤器和自定义操作方法选择器。示例(复制自“Pro ASP.NET MVC 2”一书,第351页):

代码语言:javascript
复制
- In Controller define 2 function for desktop & iPhone, they have the same ActionName

    [iPhone]
    [ActionName("Index")] 
    public ActionResult Index_iPhone() { /* Logic for iPhones goes here */ }     
    [ActionName("Index")]
    public ActionResult Index_PC() { /* Logic for other devices goes here */ }

- Define [iPhone] action method selector:           
    public class iPhoneAttribute : ActionMethodSelectorAttribute 
        { 
            public override bool IsValidForRequest(ControllerContext controllerContext,  
                                                   MethodInfo methodInfo) 
            { 
                var userAgent = controllerContext.HttpContext.Request.UserAgent; 
                return userAgent != null && userAgent.Contains("iPhone"); 
            } 
        }
票数 4
EN

Stack Overflow用户

发布于 2011-04-05 02:29:19

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5546501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档