所以我有一条路线(例如〜/ Help / FAQ)。现在,如果我在常见问题解答以外的任何页面上,Html.ActionLink
正如我所期望的那样工作。
@Html.ActionLink("FAQ", "FAQ", "Help", routeValues:=Nothing, htmlAttributes:=Nothing)
但是,如果当前浏览器URL是指定了id路由属性,http://www.example.com/Help/FAQ/56832
的FAQ页面,则上面的ActionLink将获取当前的routeVaues并使用{{呈现链接1}}附加 - 即使我特意告诉ActionLink我不希望渲染任何routeValues。
这是一个错误还是我做错了什么?
答案 0 :(得分:2)
您没有做错任何事情,ASP.NET MVC隐式使用HTML帮助程序中的当前路由值。你必须覆盖它们:
在C#中:
@Html.ActionLink("FAQ", "FAQ", "Help", new { id = null }, null)
在VB.NET中:
@Html.ActionLink("FAQ", "FAQ", Help", routeValues:= New With {.id = Nothing}, htmlAttributes:=Nothing)