C# 在MVC中丢失名为action的路由值

C# 在MVC中丢失名为action的路由值,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,当我使用MVC:aspx视图创建链接时,发生了一些奇怪的事情: <%= Url.Action("ActionName", "Controller", new { action = "add" }) %> 操作(或其任何外壳)是保留的路由数据,对ASP.NET MVC至关重要。我建议将其重命名为其他名称 在封面下,Url.Action帮助程序可能会用actionName参数的值覆盖它 其他保留路线数据名称包括控制器和区域。这些也不区分大小写。什么是路由表?看起来您正在将url和查询字

当我使用MVC:aspx视图创建链接时,发生了一些奇怪的事情:

<%= Url.Action("ActionName", "Controller", new { action = "add" }) %>
操作
(或其任何外壳)是保留的路由数据,对ASP.NET MVC至关重要。我建议将其重命名为其他名称

在封面下,
Url.Action
帮助程序可能会用
actionName
参数的值覆盖它


其他保留路线数据名称包括
控制器
区域
。这些也不区分大小写。

什么是路由表?看起来您正在将url和查询字符串中的操作加倍。默认值:
routes.MapRoute(“默认值”),“{controller}/{action}/{id}”,new{controller=“Home”,action=“Index”,id=”“})谢谢,有关于此行为的文档吗?最后更改了变量的名称。这让我怀疑我以前是否忽视了这一点。
routes.MapRoute("Default", 
  "{controller}/{action}/{id}", 
  new { controller = "Home", action = "Index", id = "" }
);