【问题标题】:ASP.NET MVC C# Multiple Url Routes Config Controller ActionASP.NET MVC C# 多个 URL 路由配置控制器操作
【发布时间】:2019-12-20 03:04:02
【问题描述】:

我想创建多个 URL 的路由配置。例如:“fr-ca/user/login”和“en-ca/user/login”及其工作,但如果单击提交并由控制器处理数据并返回 RedirectToAction(MVC.User.Dashboard);总是返回“fr-ca/user/dashboard”; 虽然我使用 Url "en-ca/",并且总是返回所有链接 MVC.anything in first is "fr-ca/"

因为在位置路由配置中,“fr-ca”是第一位的。

也许有人可以帮我解决这个问题,谢谢。

 routes.MapRoute(
        name: "fr-Default",
        url: "fr-ca/{controller}/{action}/{id}",
        defaults: new { controller = MVC.Content.Name, action = MVC.Content.ActionNames.Show, id = UrlParameter.Optional, siteId = Site.FR.Id },
         namespaces: new string[] { "Jay.Cms.Web.Controllers" }
    );

        routes.MapRoute(
         name: "en-Default",
         url: "en-ca/{controller}/{action}/{id}",
         defaults: new { controller = MVC.Content.Name, action = MVC.Content.ActionNames.Show, id = UrlParameter.Optional, siteId = Site.EN.Id },
          namespaces: new string[] { "Jay.Cms.Web.Controllers" }
     );

【问题讨论】:

    标签: c# asp.net-mvc routes config


    【解决方案1】:
     You can write to action attribute in controller
    
    '[Route("fr-ca/{controller}/{action}/{id}")]
     [Route("en-ca/{controller}/{action}/{id}")]
     public ActionResult Home()
     {
       return View();
     }'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      相关资源
      最近更新 更多