ASP.NET MVC - 如何获取 URL 而不是操作链接?

Posted

技术标签:

【中文标题】ASP.NET MVC - 如何获取 URL 而不是操作链接?【英文标题】:ASP.NET MVC - How to get an URL instead of an action link? 【发布时间】:2013-03-19 01:34:33 【问题描述】:

我想在小程序参数中嵌入一个 URL。

我知道自动创建 URL 的唯一方法是 html.ActionLink(),但我只想要内部的 HREF 属性,而不是整个链接。

除了在ActionLink() 的输出上使用Regex 来获取HREF 属性之外,还有其他方法可以获得我不想要的吗?

【问题讨论】:

【参考方案1】:

要仅获取 URL,您可以使用 Url.Action() 而不是 Html.ActionLink()

它有很多重载,所以你可以给它一个路由的名字,或者动作和控制器的名字,或者一些其他的选项。

示例:

Url.Action("YourAction", "YourController")

【讨论】:

另外,Url.RouteUrl() 会做同样的事情,看MSDN,似乎Url.RouteUrl() 可能更通用,但不清楚。 Url.Action - 生成操作的完全限定 URL。 Url.RouteUrl - 生成完全限定的 URL(不指定操作)。 msdn.microsoft.com/en-us/library/… Url.Action() 在无法映射路由时抛出,Html.ActionLink() 不会。

以上是关于ASP.NET MVC - 如何获取 URL 而不是操作链接?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.NET Core MVC 中获取 Url Referrer?

Asp.Net MVC:如何获取当前控制器/视图的虚拟 url?

asp.net mvc怎样传递多个url参数

如何在 asp.net mvc 中将文件传递给客户端而不下载 Web 服务器上的文件?

在ASP.NET MVC 中获取当前URLcontrolleraction

从 ASP.NET MVC 操作中获取绝对 URL