Link Tag Helper 會產生主要或後援 CSS 檔案的連結。 通常,主要CSS檔案位於 內容傳遞網路 (CDN)上。
一個 CDN:
- 提供數個 效能優勢 ,相較於使用 Web 應用程式裝載資產。
- 不應依賴作為資產的唯一來源。 CDN 並不總是可用,因此應使用可靠的後援。 一般而言,後援是裝載 Web 應用程式的網站。
連結標籤協助程式可讓您指定CSS檔案的CDN,並在CDN無法使用時指定後援。 Link Tag Helper 提供 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" /> 元素,以及下列用來驗證所要求 bootstrap.css 檔案在 CDN 上是否可用的 JavaScript。 在此情況下,CSS檔案可用,因此標籤協助程式會使用CDN CSS檔案產生 <link /> 元素。
常用的連結標籤協助程式屬性
如需所有連結標籤協助程式屬性、屬性和方法,請參閱 連結標籤協助程式 。
href
連結資源的偏好位址。 在所有情況下,地址都會傳遞給生成的 HTML。
asp-後援-href
在主要 URL 失敗時要回退的 CSS 樣式表 URL。
asp-後備測試類
樣式表中定義的類別名稱,以用於後援測試。 如需詳細資訊,請參閱FallbackTestClass。
asp-後援測試屬性
要用於後援測試的 CSS 屬性名稱。 如需詳細資訊,請參閱FallbackTestProperty。
asp-後備測試值
要用於後援測試的 CSS 屬性值。 如需詳細資訊,請參閱FallbackTestValue。
其他資源
- ASP.NET Core 中的標記協助程式
- ASP.NET Core 中的區域
- Razor ASP.NET Core 中的頁面架構和概念
- ASP.NET Core MVC 的相容性版本