我的Global.asax.vb
页面中有一条这样的路线......
Shared Sub RegisterRoutes(ByVal routes As RouteCollection) routes.IgnoreRoute("{resource}.axd/{*pathInfo}") routes.MapRoute( _ "IdOnly", _ "{id}", _ New With {.controller = "Page", _ .action = "Details", _ .id = "7"} _ ) End Sub
id
用于我的主页。当有人导航到我的http://example.com/
但是,这也有效:http://example.com/7
我希望我的网站上的任何地方都没有指向id
为7的地址。但是,Html.RouteLink()
函数会生成这些链接。
对于视图模型,它是主页的子级...
<%=Html.RouteLink(Model.Parent.Title, _
"IdOnly", _
New With {.id = Model.Parent.Id})%>
...生成以下锚标记:
<a href="/7">Home</a>
如何覆盖我的主页href
功能生成的Html.RouteLink()
?
答案 0 :(得分:4)
在主页的“IdOnly”路线之前添加新路线:
routes.MapRoute( _
"HomePage", _
"", _
New With {.controller = "Page", _
.action = "Details", _
.id = "7"} _
)
RouteLink
将使用路由表中第一个匹配的映射来生成链接。