小编Har*_*lyo的帖子

Response.RedirectToRoute(RouteData.Values)重定向到Area控制器

我正在尝试设置一个BaseController来处理文化作为url的一部分(基于ASP.NET MVC 5国际化).只要禁用我的区域注册,我的实现就可以正常工作.

当我的某个区域被注册时,如果我尝试输入错误/不支持的文化(http:// localhost:52639/zz /),我遇到请求URL的404错误:http:// localhost:52639/fr /测试/发布.

我检查了我的路线是否正确注册.

如果我在禁用区域注册时执行相同操作,则在键入以下URL时基本控制器和路由的行为正确:http:// localhost:52639/zz /我被重定向到http:// localhost:52639/fr /(默认文化).

这些是我的路线:

public static void RegisterRoutes(RouteCollection routes)
    {
        var namespaces = new[]{typeof(PostController).Namespace};

        routes.IgnoreRoute("favicon.ico");
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute("PostToHack", "{culture}/Post/{idAndSlug}", new { culture = "", Controller = "Post", Action = "Show" }, namespaces);
        routes.MapRoute("Post", "{culture}/Post/{id}-{slug}", new { culture = "", Controller = "Post", Action = "Show" }, namespaces);

        routes.MapRoute("TagToHack", "{culture}/Tag/{idAndSlug}", new { culture = "", Controller = "Post", Action = "Tag" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-routing asp.net-mvc-5.2

9
推荐指数
1
解决办法
690
查看次数