如何将单独的css文件链接到aspx文件



我继承了一个.net4.aspx解决方案,需要进行一些更改。总的来说,所有的样式似乎都是串联设置的。因此,为了使它更易于维护,我尝试为每个aspx文件创建单独的css文件。这可能看起来有些过头了,但这是逐渐过渡到.net核心的第一阶段。

通常我只会做一些类似的事情:

<asp:Content......
<link href="myStyleSheet"....
</asp:Content>

但是link语句会导致一个错误,说明它不能嵌套在td元素中。将其放置在内容块之外也会出错,说明内容块之外不支持内容。

我应该如何在不在主页面的<head>部分引用所有样式表的情况下单独引用样式表?

链接语句导致一个错误,说明它不能嵌套在td元素中

没错。您不会将<link>元素放入表中。根据MDN;任何接受元数据元素的元素"CCD_ 3绝对不是这样的元素。<head>当然是,而且可能是放置这些东西最安全的地方。

在主页中,您可以在<head>:中添加ContentPlaceHolder

<head runat="server">
<title>Your page title</title>
<!-- etc. -->
<asp:contentplaceholder id="HeaderPlaceholder" runat="server" />
</head>

然后在各个页面中,将<link>元素放在该占位符的Content控件中:

<asp:Content ID="ContentHeader" ContentPlaceHolderID="HeaderPlaceholder" runat="server">
<link href="myStyleSheet" etc... />
</asp:Content>

这似乎是过度杀伤

是的,有点像。为什么每个页面都有一个单独的样式表?似乎为站点设置一个样式表更有意义。对于任何只需要针对特定页面而不针对其他页面的样式,使用特定id围绕该页面内容的一些包装元素(如<div>(将使其变得容易。

最新更新