如何在 ASP.NET Core MVC 中显示绝对 url

Bre*_*ogt 0 asp.net asp.net-mvc razor asp.net-core

我如何才能获得在视图上显示的绝对 URL?

我目前在我的代码中有这个:

<link href="~/css/site.min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

..显示如下:

<link href="/css/site.min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是以下内容:

<link href="http://www.example.com/css/site.min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

我知道你可以和年长的人一起做 ASP.NET MVC 5,但是核心版本可以吗?

是否值得拥有绝对 URL,还是相对 URL 就足够了?

Ash*_*deh 5

您应该自己构建 URL。看看这个答案,但我认为您的情况不需要绝对网址。

以下是您将在该答案中找到的内容的摘要:

public static string AbsoluteContent(this IUrlHelper url, string contentPath)
{
    HttpRequest request = url.ActionContext.HttpContext.Request;
    return new Uri(new Uri(request.Scheme + "://" + request.Host.Value), url.Content(contentPath)).ToString();
}
Run Code Online (Sandbox Code Playgroud)

使用该辅助方法,您将在视图中编写此内容以获取site.css位于以下位置的绝对 URL wwwroot

@Url.AbsoluteContent("~/site.css")
Run Code Online (Sandbox Code Playgroud)