Asp.net mvc 2 Asp.NETMVC2中的ActionLink未重新映射

Asp.net mvc 2 Asp.NETMVC2中的ActionLink未重新映射,asp.net-mvc-2,asp.net-mvc-routing,Asp.net Mvc 2,Asp.net Mvc Routing,我有以下默认且唯一的路线: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); 在我的Site.Master中,我有以下内容: <%=

我有以下默认且唯一的路线:

routes.MapRoute(
   "Default", // Route name
   "{controller}/{action}/{id}", // URL with parameters
   new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
 );
在我的Site.Master中,我有以下内容:

<%= Html.ActionLink("Profile", "Details", "Users")%>

如果我在以下Url上:
我点击上面的链接,它会进入同一页面。
是否应该转到以下url?

出于某种原因,它将id保留在Url中

出于某种原因,它将id保留在Url中

这是故意的

尝试此操作以清除id:

<%= Html.ActionLink("Profile", "Details", "Users", new { id = "" }, null)%>

出于某种原因,它将id保留在Url中

这是故意的

尝试此操作以清除id:

<%= Html.ActionLink("Profile", "Details", "Users", new { id = "" }, null)%>


这是我不确定的,不管是不是设计的。这是最好的做法吗?我不会称之为最坏或最好的做法。只是练习而已。如果你想去掉一个持久值,你可以用这种方式“擦除”它。这就是我不确定的,不管它是不是故意的。这是最好的做法吗?我不会称之为最坏或最好的做法。只是练习而已。如果您希望删除一个持久值,您只需以这种方式“擦除”它。