我在视图中由@ Url.Action生成的网址存在问题。我试图在1个MVC应用程序中拥有多个具有相同名称的控制器(modulair应用程序,每个模块都有一个前缀和一个Home控制器)。我正在使用带有命名空间的路由来完成路由,并且工作正常。 Url.Action在视图中生成的URL存在前缀不正确的问题。这是我的路线定义:
Action url: @Url.Action("Action")
这在浏览/ Test1和/ Test2时解析了正确的控制器。现在我有一个简单的视图(索引,用于两个操作):
str_replace
但结果总是'动作网址:/ Test1 / Home / Action'为什么?我尝试没有默认路由,但结果相同(我为网址的{section}部分添加了默认路由)。
如果我只使用默认路由并使用不同的控制器名称(或使用该部分来确定命名空间的自定义控制器工厂),则动作URL的生成是正确的。我可以做些什么来修复我的路线设置中的Url代?
答案 0 :(得分:0)
这是您正在创建的区域吗?如果是这样的东西将起作用
@Url.Action("Action", "Controller", new { Area = "Test1" }, null)
下面的区域指南如果此链接被破坏,简单的谷歌就足够了
http://www.itorian.com/2013/10/area-in-mvc-5-with-example-step-by-step.html