ASP.NET Razor Pages 将自定义属性添加到呈现的 HTML 代码
ASP.NET Razor Pages adds custom attributes to rendered HTML code
我注意到 HTML 从 Razor Pages 呈现的代码包含额外的属性。这并不适用于所有 HTML 标签,但已经观察到这一点,例如对于“_Layout.cshtml”中的导航栏。
我使用标准 Visual Studio 2022 ASP.NET Razor Pages 模板复制了它。举个例子。
源代码:
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
渲染代码:
<nav b-qljal0t0p2 class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
b-qljal0t0p2
属性的用途是什么?可以控制和关闭吗?
这是一个 ASP CSS 隔离(又名作用域 css)。默认 Razor 页面模板包括范围 css 文件 _Layout.cshtml.css,这使得 ASP 将此类哈希属性注入 _Layout.cshtml 中的所有标签,该标签使用范围 css 规则=22=] 文件.
这些属性的目的是避免来自不同组件或页面的同名规则重叠。
当然,您可以通过将 css 规则从范围 css 文件移动到任何其他文件来关闭此行为。
您可以从这里了解更多关于 CSS 隔离的信息 link https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-6.0&tabs=visual-studio#css-isolation
我注意到 HTML 从 Razor Pages 呈现的代码包含额外的属性。这并不适用于所有 HTML 标签,但已经观察到这一点,例如对于“_Layout.cshtml”中的导航栏。
我使用标准 Visual Studio 2022 ASP.NET Razor Pages 模板复制了它。举个例子。
源代码:
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
渲染代码:
<nav b-qljal0t0p2 class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
b-qljal0t0p2
属性的用途是什么?可以控制和关闭吗?
这是一个 ASP CSS 隔离(又名作用域 css)。默认 Razor 页面模板包括范围 css 文件 _Layout.cshtml.css,这使得 ASP 将此类哈希属性注入 _Layout.cshtml 中的所有标签,该标签使用范围 css 规则=22=] 文件.
这些属性的目的是避免来自不同组件或页面的同名规则重叠。
当然,您可以通过将 css 规则从范围 css 文件移动到任何其他文件来关闭此行为。
您可以从这里了解更多关于 CSS 隔离的信息 link https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-6.0&tabs=visual-studio#css-isolation