Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC3路由-不同区域的相同URL_C#_Asp.net_Asp.net Mvc 3_Routing - Fatal编程技术网

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

C# ASP.NET MVC3路由-不同区域的相同URL,c#,asp.net,asp.net-mvc-3,routing,C#,Asp.net,Asp.net Mvc 3,Routing,我的MVC3项目有一个叫做移动的区域。以下是从桌面浏览器和移动浏览器访问我的网站时的行为: 桌面浏览器:URL保持为mydomain.com,并且正确显示默认桌面主页 移动(iPhone)浏览器:URL更改为mydomain.com/Mobile/Home,移动主页将正确显示 无论是从桌面浏览器还是移动浏览器查看,我都希望URL保持在mydomain.com。我如何做到这一点?你可以看看这个 你可以看看这个 尝试为移动设备使用ActionName筛选器和自定义操作方法选择器。 示例(摘自“Pro

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

  • 桌面浏览器:URL保持为mydomain.com,并且正确显示默认桌面主页

  • 移动(iPhone)浏览器:URL更改为mydomain.com/Mobile/Home,移动主页将正确显示


  • 无论是从桌面浏览器还是移动浏览器查看,我都希望URL保持在mydomain.com。我如何做到这一点?

    你可以看看这个


    你可以看看这个


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


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

    - 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"); 
                } 
            }