【问题标题】:Cant route to other view MVC无法路由到其他视图 MVC
【发布时间】:2016-04-28 12:41:08
【问题描述】:

说明:我创建了一个标志图片,用户可以在其中更改为不同的语言。它应该路由到另一个完全相同但语言不同的视图

问题:它不会将我引导到另一个视图,尽管它确实让我回到了原来的视图。

索引.cshtml

<li>
   <a 
      href='@Url.RouteUrl("Lietuviu")'>
      <img src="/Content/img/lie.png" />
   </a>
</li>

路由配置:

routes.MapRoute("Lietuviu", "", new { controller = "Home", action= "Lietuviu" });

家庭控制器:

public ActionResult Index()
    {
        return View();
    }

    public ActionResult Lietuviu() 
    {
        return View();
    }

视图名为 Lietuviu 并添加到 Views/Home/。我决定使用相同的家庭控制器,因为我只有 2 页。 我试过:为视图创建单独的控制器,确保所有内容都正确命名,尝试使用Url.Action() 方法而不是Url.RouteUrl()

【问题讨论】:

  • View/Home/ 不正确。这是 ViewS/Home/Lietuviu.cshtml
  • 对不起,这是错字。它是 Views/Home/Lietuviu.cshtml
  • 你能显示更多代码吗?你所有的路由配置。
  • 好像是构建错误,现在变成了翻译页面,但没有保持样式。显然英文视图也以某种方式失去了风格

标签: asp.net-mvc routes


【解决方案1】:

你的路线不正确,你需要精确的路径。

routes.MapRoute("Lietuviu", "{controller}/{action}", new { controller = "Home", action= "Lietuviu" });

【讨论】:

  • 我用这条路线替换了我的路线,现在它只转到了无样式的英语版本。
  • 你把href改回/Home/Lietuviu/了吗。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
相关资源
最近更新 更多