私は、ASP.NET MVC Html.RouteLink()はIDなしで私のホームページのURLを返すことはできますか?
-
20-08-2019 - |
質問
私はこのように私の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
私は7のHtml.RouteLink()
とアドレスにどこでも自分のサイトにはリンクがありませんしたいと思います。しかし、href
機能はそれらを生成します。
ホームページの子のビューモデルの...
<%=Html.RouteLink(Model.Parent.Title, _
"IdOnly", _
New With {.id = Model.Parent.Id})%>
...次のアンカータグを生成します:
<a href="/7">Home</a>
私はオーバーライドすることができますどのように<=>私のホームページに<=>機能によって生成された?
解決
ホームページのあなたの「IdOnly」ルートの前に新しいルートを追加します:
routes.MapRoute( _
"HomePage", _
"", _
New With {.controller = "Page", _
.action = "Details", _
.id = "7"} _
)
RouteLink
リンクを生成するために、ルーティングテーブルに最初に一致したマッピングを使用します。
所属していません StackOverflow