Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.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.NETMVC自动重定向到使用语言的路由_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# ASP.NETMVC自动重定向到使用语言的路由

C# ASP.NETMVC自动重定向到使用语言的路由,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,假设我有一个ASP.NETMVC4Web应用程序。在这个应用程序中,我有两个控制器“产品”和“支持” 此应用程序是一个支持语言的web应用程序,因此当用户导航到时,我希望自动重定向到 支持也是一样:从到 我已经有了一些基于浏览器确定用户语言的逻辑,我只是不确定实现上述目标的最佳方法 只是想澄清一下,我已经有了一个默认的语言路线 private const string languagePartPattern = @"(\w{2})|(\w{2}-\w{2,4})"; routes.MapRou

假设我有一个ASP.NETMVC4Web应用程序。在这个应用程序中,我有两个控制器“产品”和“支持”

此应用程序是一个支持语言的web应用程序,因此当用户导航到时,我希望自动重定向到

支持也是一样:从到

我已经有了一些基于浏览器确定用户语言的逻辑,我只是不确定实现上述目标的最佳方法

只是想澄清一下,我已经有了一个默认的语言路线

private const string languagePartPattern = @"(\w{2})|(\w{2}-\w{2,4})";

routes.MapRoute(
    name: "DefaultLang",
    url: "{lang}/{controller}/{action}/{id}",
    constraints: new { lang = languagePartPattern },   //For example: en or en-US
    defaults: new { lang = SettingsHelper.DefaultLanguage, controller = "EntryPoint", action = "Index", id = UrlParameter.Optional }
);
如果导航到,它不会自动重定向到。但是,如果我直接导航到

那里有大量关于这个主题的文章、博客等问题,效果会很好。使用谷歌(或Bing;-)。或者。我确实搜索了->我打了个招呼;-)并实现了一个url为“{lang}/{controller}/{action}/{id}”的默认路由,但如果导航到它,则不会重定向到。如果我直接导航到,它可以正常工作。请参阅一个示例,其中包括根据用户的浏览器设置重定向到当前区域性(或任何碰巧更改标题的防火墙-始终为用户提供选择区域性的方法!!)请参阅此文件、博客以及有关此主题的大量问题。使用谷歌(或Bing;-)。或者。我确实搜索了->我打了个招呼;-)并实现了一个url为“{lang}/{controller}/{action}/{id}”的默认路由,但如果导航到它,则不会重定向到。如果我直接导航到,它可以正常工作。有关基于用户的浏览器设置重定向到当前区域性的示例,请参阅(或任何碰巧更改标题的防火墙-始终为用户提供选择区域性的方法!!),请参阅此