如何在母版页中包含CSS?
如何仅在我的 ASP.NET 网站的某些页面中包含 CSS 引用?如果我在母版页中包含引用,则网站的所有页面都会共享 CSS 引用。
How do I include CSS reference in only certain pages on my asp.net website? If I include the reference in my master page, all pages of the website share the CSS reference.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需添加一个带有默认值的 CSS ContentPlaceHolder 即可。
基本上,除非您使用子页面中的
标记覆盖该占位符,否则将包含您指定为默认值的 CSS 文件。您的母版页应如下所示。
然后,从使用该母版页的任何页面中,您可以简单地使用不同的样式表覆盖它。
在(示例)AboutUs.aspx
Just add a CSS ContentPlaceHolder with a default value in it.
Basically, the CSS file you specify as default will be included unless you override that placeholder with an
<asp:Content />
tag from a child page.Your Master Page should look something like this.
Then from any pages using that Master Page, you can simply override that with a different stylesheet.
On (example) AboutUs.aspx
在我的情况下,我在解决方案中的不同位置使用了相同的母版页。由于对我的 css 文件的引用有 ~(波浪号)前缀,我向引用添加了一个 response.write ,如下所示:
In my situation, i used the same masterpage from different locations in the solution. And since the ~ (Tilde) prefix on the reference to my css files, i added a response.write to the reference like so:
您可以在网站上使用多个母版页。
您还可以使用嵌套母版页。顶层可能具有一般站点结构,然后为每个不同区域提供一个主嵌套母版页。
当您右键单击项目并选择“添加”时,您选择选项“WebContentForm”,而不是“WebForm”。然后您可以选择合适的母版页。
在嵌套母版页中,您将 MasterPageFile 设置为等于顶级母版页。
编辑 当与@Marko的方法结合使用时,您可能会得到以下结果...
这里的优点是所有覆盖只需编写一次。
顶级母版页:
无覆盖的嵌套母版页 带有
override.css 的嵌套母版页一
带有 secondaryOverride.css 的嵌套母版页二
然后,只需在任何 Web 表单上设置适当的母版页即可。
You can use more than one Master page on your site.
You can also use nested master pages. The Top level might have the general site structure, and then one Master nested master page for each of your different areas.
When you right click your project and select Add, you choose the option WebContentForm, instead of WebForm. Then you can select the appropriate masterpage.
In your nested masterpages, you set the MasterPageFile equal to your top level masterpage.
Edit When combined with @Marko's approach you could have the following...
The advantage here is that all of your overrides only have to be written once.
Top Level MasterPage:
Nested MasterPage with no override
Nested MasterPage One with override.css
Nested MasterPage Two with secondOverride.css
Then, just set the appropriate master page on any of your web forms.