Asp.net mvc Url.RouteUrl()和;MVC3中的Url.Action()
我正在cshtml页面中动态生成URL。 Url.RouteUrl()和Url.Action()之间有什么区别 我应该使用哪一个来生成URL&两者在实现方面有什么不同Asp.net mvc Url.RouteUrl()和;MVC3中的Url.Action(),asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,我正在cshtml页面中动态生成URL。 Url.RouteUrl()和Url.Action()之间有什么区别 我应该使用哪一个来生成URL&两者在实现方面有什么不同 提前感谢。RouteUrl根据路由名称生成url。如果您有多个具有类似参数的路由,操作方法可能会选择错误的路由-它根据路由定义的顺序工作。当路由具有可选参数时,可能会发生这种情况 如果要确保使用某个路由url,需要调用RouteUrl传递此路由名称。路由名称是唯一的,可以清楚地标识路由 另一个区别是,Action是特定于MVC的(
提前感谢。
RouteUrl
根据路由名称生成url。如果您有多个具有类似参数的路由,操作
方法可能会选择错误的路由-它根据路由定义的顺序工作。当路由具有可选参数时,可能会发生这种情况
如果要确保使用某个路由url,需要调用RouteUrl
传递此路由名称。路由名称是唯一的,可以清楚地标识路由
另一个区别是,
Action
是特定于MVC的(它使用控制器和操作名称),而RouteUrl
是通用的,可以在没有MVC的情况下使用(您可以在WebForms中使用路由)。Url.RouteUrl
允许您按名称指定特定路由。这将强制使用该路由Url.Action
只需选择符合条件的第一条路由。这也意味着Url.RouteUrl在性能上优于Url.Action