为啥我的嵌套母版页会丢失 CSS 格式?

Posted

技术标签:

【中文标题】为啥我的嵌套母版页会丢失 CSS 格式?【英文标题】:Why my nested master page loses CSS formatting?为什么我的嵌套母版页会丢失 CSS 格式? 【发布时间】:2012-04-20 22:12:28 【问题描述】:

我的网站结构如下

/Style.css
/MasterPage.Master
/Default.aspx

/Member/
  member.master
  member.aspx

/MasterPage.Master 指向 style.css 如下

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />

它就像一个魅力。

member.master 添加为MasterPage.Master 的嵌套母版页后,我注意到VS2010 和呈现的网页都无法在子member.master 上应用格式

经过一番谷歌搜索后,我发现我可以使用以下代码

<link rel="stylesheet" href="<%= ResolveUrl("style.css") %>" type="text/css" media="all"/>

网页现在可以正确呈现,但是我如何在 Visual Studio 的设计模式下获得相同的结果?

【问题讨论】:

一些建议:从来没有强制嵌套母版页的场景。编码是一种偏见,总有一种方法可以使用 CSS 创建相同的视觉效果,或者使用一个主项目和 NuGet 为子项目创建逻辑/分离。 【参考方案1】:

正如我所见,所有路径都应该作为相对路径。

如果你有样式表

<link href="~/Style.css" rel="stylesheet" type="text/css" />

页面应该运行良好。同时你需要有母版页被称为:

在你的member.master

MasterPageFile="~/Site.master"

member.aspx

MasterPageFile="~/Member/member.master"

希望这会对你有所帮助。

【讨论】:

以上是关于为啥我的嵌套母版页会丢失 CSS 格式?的主要内容,如果未能解决你的问题,请参考以下文章

母版页中的 ASP.NET CSS 文件

为啥这个脚本不是从母版页运行的?

如何将母版页和 css 应用于子页

asp.net 中母版页、用户控件中属性的调用、赋值方法求解。

使用 css 和 c# 以编程方式更改母版页中的链接

asp.net 从内容页面更改母版页部分 css