簡體   English   中英

我可以讓 ASP.NET MVC Html.RouteLink() 在沒有 ID 的情況下為我的主頁返回 url 嗎?

[英]Can I make ASP.NET MVC Html.RouteLink() return a url for my home page without an ID?

我的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() function 會生成這些鏈接。

查看 Model 這是主頁的子項...

<%=Html.RouteLink(Model.Parent.Title, _
                  "IdOnly", _
                  New With {.id = Model.Parent.Id})%>

…生成以下錨標記:

<a href="/7">Home</a>

如何覆蓋Html.RouteLink() function 為我的主頁生成的href

在主頁的“IdOnly”路由之前添加一個新路由:

routes.MapRoute( _
    "HomePage", _
    "", _
    New With {.controller = "Page", _
              .action = "Details", _
              .id = "7"} _
)

RouteLink將使用路由表中第一個匹配的映射來生成鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM