Asp.net-Mvc

MVC3 中 Url.RouteUrl() 和 Url.Action() 的區別

  • February 20, 2012

我正在我的 cshtml 頁面中動態生成 URL。Url.RouteUrl() 和 Url.Action() 有什麼區別?

我應該使用哪一個來生成 URL 以及兩者在實現方面有什麼區別?

提前致謝。

RouteUrl根據路由名稱生成 url。如果您有多個具有相似參數的路由,則該Action方法可能會選擇錯誤的一個 - 它根據路由定義的順序工作。當您的路線具有可選參數時,可能會發生這種情況。

如果您想確保使用某個路由 url,您需要呼叫RouteUrl傳遞此路由名稱。路線名稱是唯一的並且清楚地標識路線。

另一個區別是ActionMVC 特定(它使用控制器和操作名稱),而RouteUrl通用是並且可以在沒有 MVC 的情況下使用(您可以在 WebForms 中進行路由)。

引用自:https://stackoverflow.com/questions/9357873