簡體   English   中英

ASP.NET MVC中的RouteLink和ActionLink有什么區別?

[英]What's the difference between RouteLink and ActionLink in ASP.NET MVC?

我認為標題幾乎總結了:

ASP.NET MVC中的RouteLink()ActionLink()什么區別?

即你何時使用Html.RouteLink() ,何時在你的視圖中使用Html.ActionLink()

動作和路線不必具有1:1的關系。

ActionLink將生成URL以使用第一個匹配的路徑按操作名稱獲取操作。

RouteLink將生成指向由名稱或路由值確定的特定路由的URL。

實際上,兩種方法的輸出是相同的,但它的生成方式略有不同:

Html.ActionLink()可以快速生成ActionLinks,並且可以基本控制渲染的內容。 如果您沒有太多路線,或者不需要提供太多或太具體的信息,這將完成工作。

Html.RouteLink()方法采用稍微不同的參數,因此可以更加詳細地控制事物的處理方式。 當我的場景稍微復雜一點,或者我有更詳細的路徑結構時,我傾向於使用這種方法。
一個例子是最近的項目,其中我(為了靈活性)而是有幾條不同的路線,這些路線都非常簡單,而不是一個可以提供大量信息的復雜路線。 因此,我最終為同一個控制器提供了四個或五個路由,所有路由都指定了默認操作。 我主要使用RouteLink版本,因為當我指定路由名稱時,會自動輸入默認參數。

按照您的意願使用它們,因為它們對您的項目有意義。 他們中的任何一方都沒有上行/下行(其他一些都不匹配......)。

除了這里給出的其他答案之外,RouteLink更快一點,並且因為您更改了路由表而無法匹配錯誤的路由。

RouteLink采用路由的名稱,因此如果您的路由名稱可靠且相當獨特,那么即使要使用的操作名稱發生更改,這也是相同的。 ActionLink鏈接到特定控制器的特定操作。 我在我的視圖中使用兩者,取決於我之后的鏈接類型!

暫無
暫無

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

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