我继承了一个.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>
(将使其变得容易。