链接标记帮助程序生成指向主 CSS 文件或回退 CSS 文件的链接。 通常,主 CSS 文件位于 内容分发网络 (CDN)上。
内容分发网络(CDN):
- 提供多种 性能优势 ,以及通过 Web 应用托管资产。
- 不应依赖为资产的唯一来源。 CDN 并不总是可用,因此应使用可靠的回退。 回退通常是托管 Web 应用的站点。
使用链接标记帮助程序可以指定 CSS 文件的 CDN,并在 CDN 不可用时进行回退。 链接标记帮助程序提供 CDN 的性能优势,具有本地托管的可靠性。
以下 Razor 标记显示了 head 使用 ASP.NET Core Web 应用模板创建的布局文件的元素:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - WebLinkTH</title>
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position"
asp-fallback-test-value="absolute"
crossorigin="anonymous"
integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE=" />
</environment>
<link rel="stylesheet" href="~/css/site.css" />
</head>
以下是从上述代码呈现的 HTML(在非Development 环境中):
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Home page - WebLinkTH</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.css"
crossorigin="anonymous" integrity="sha256-eS<snip>BE=" />
<meta name="x-stylesheet-fallback-test" content="" class="sr-only" />
<script>
!function (a, b, c, d) {
var e, f = document,
g = f.getElementsByTagName("SCRIPT"),
h = g[g.length - 1].previousElementSibling,
i = f.defaultView && f.defaultView.getComputedStyle ? f.defaultView.getComputedStyle(h) : h.currentStyle;
if (i && i[a] !== b) for (e = 0; e < c.length; e++)
f.write('<link href="' + c[e] + '" ' + d + "/>")
}
("position", "absolute", ["\/lib\/bootstrap\/dist\/css\/bootstrap.css"],
"rel=\u0022stylesheet\u0022 crossorigin=\u0022anonymous\u0022 integrity=\abc<snip>BE=\u0022 ");
</script>
<link rel="stylesheet" href="/css/site.css" />
</head>
在前面的代码中,链接标记帮助程序生成了 <meta name="x-stylesheet-fallback-test" content="" class="sr-only" /> 元素和以下 JavaScript,用于验证请求 bootstrap.css 的文件在 CDN 上是否可用。 在这种情况下,CSS 文件可用,因此标记帮助程序使用 <link /> CDN CSS 文件生成了元素。
常用链接标记帮助程序属性
有关所有链接标记帮助程序属性、属性和方法,请参阅 链接标记帮助程序 。
href
链接资源的首选地址。 在所有情况下,该地址都被视为已生成的 HTML。
asp-fallback-href
在主 URL 失败的情况下,要回退到的 CSS 样式表的 URL。
asp-fallback-test-class
用于回退测试的样式表中定义的类名称。 有关详细信息,请参阅 FallbackTestClass。
asp-fallback-test-property
用于回退测试的 CSS 属性名称。 有关详细信息,请参阅 FallbackTestProperty。
asp-fallback-test-value
用于回退测试的 CSS 属性值。 有关详细信息,请参阅 FallbackTestValue。
其他资源
- ASP.NET Core 中的标记帮助程序
- ASP.NET Core 中的区域
- Razor ASP.NET Core 中的页面体系结构和概念
- ASP.NET Core MVC 的 兼容性版本