asp.net mvc之Url.Action,用法详解

Url.Action()方法在asp.net mvc中也是比较常用的方法,其有8种重载方法,每一种重载方法的用法见下表。

Url.Action重载列表
名称说明示例
Action(String)使用指定的操作名称生成操作方法的完全限定 URL@Url.Action("action1")
Action(String, Object)使用指定的操作名称和路由值生成操作方法的完全限定 URL@Url.Action("action1", new {id=1 }),注:第二个参数为Object类型故可以直接new出一个匿名对象,注意和后面的重载方法对比
Action(String, String)使用指定的操作名称和控制器名称生成操作方法的完全限定 URL@Url.Action("action1","controller1")
Action(String, RouteValueDictionary)为指定的操作名称和路由值生成操作方法的完全限定 URL@Url.Action("action1", new RouteValueDictionary {{"id",1} }),注:第二个参数类型为RouteValueDictionary类型故不可以只是简单的new一个匿名对象
Action(String, String, Object)使用指定的操作名称、控制器名称和路由值生成操作方法的完全限定 URL@Url.Action("action1", "controller1", new { id=1})
Action(String, String, RouteValueDictionary)使用指定的操作名称、控制器名称和路由值生成操作方法的完全限定 URL@Url.Action("action1", "controller1", new RouteValueDictionary {{"id",1} })
Action(String, String, Object, String)使用指定的操作名称、控制器名称、路由值和要使用的协议生成操作方法的完全限定 URL@Url.Action("action1", "controller1", new {http或https")
Action(String, String, RouteValueDictionary, String, String)使用指定的操作名称、控制器名称、路由值、要使用的协议和主机名生成操作方法的完全限定 URL@Url.Action("action1", "controller1", new RouteValueDictionary {{"id",1} }, "http或https", "www.baidu.com"),注:最后的参数为主机名即域名