当我将 IncludeStyleBlock 属性设置为 True 时,为啥 CSS“会丢失”?

Posted

技术标签:

【中文标题】当我将 IncludeStyleBlock 属性设置为 True 时,为啥 CSS“会丢失”?【英文标题】:Why the CSS "gets lost" when i set the IncludeStyleBlock property equal to True?当我将 IncludeStyleBlock 属性设置为 True 时,为什么 CSS“会丢失”? 【发布时间】:2011-04-02 18:28:13 【问题描述】:

VS2010 附带的演示 Web 项目包含一个 system.web.ui.webcontrols.menu 控件。

该特定菜单包括 IncludeStyleBlock 属性。

当 IncludeStyleBlock 属性设置为 False 时,菜单将按预期显示。如果我将该属性设置为 True,菜单会被破坏。所以这是我的主要问题......

有什么方法可以保留菜单的外观,将 IncludeStyleBlock 属性设置为 false?

附:我必须将其设置为 False... 因为我的提供程序不支持第四代 .NET 框架。

【问题讨论】:

你有没有仔细检查过生成的html代码中确实没有菜单? 【参考方案1】:

如果生成元素有 id 和类,您可以使用普通的 CSS 文件设置它们的样式。它是否在打开该选项的情况下生成内联 CSS?如果是这样,您可以将其复制到外部文件以开始

【讨论】:

【参考方案2】:

this page 有没有给你一些线索,特别是在备注部分?

简而言之,如果您将该属性设置为 false,则必须提供“您自己的页面中的 CSS 定义块,或包含指向包含定义的外部 CSS 文件的链接”。此外,您将无法设置样式属性。

因此,相反,如果您将该属性设置为 true,它将忽略您提供的样式属性。

【讨论】:

【参考方案3】:

你的问题说错了。您首先说当 IncludeStyleBlock 属性设置为 False 时菜单是完美的,而在 True 时中断。然后你说它在 False 时坏了,你想要一个解决方法来在 False 下工作。

由于这种混淆,我的回答是基于这样的假设:当 IncludeStyleBlock 设置为 true 时,您想要模仿 ASP.NET 设置的默认样式,但同时保持 IncludeStyleBlock="False"

第一:由于菜单在IncludeStyleBlock="True"时显示完美,您需要做的就是将其设置为true并预览渲染的源代码。从源代码中,您可以找到 Menu 控件默认生成的默认 CSS 块的副本。这就是你需要的。

第二:一旦有了 CSS 块,只需将其复制并粘贴到您的标记中(内联或外部)。一旦你这样做了,你就可以创建IncludeStyleBlock="False" 并且现在的内联/外部 CSS 块将保留菜单的外观。 (作为奖励,这是缓存 CSS 带来的小幅性能提升)

【讨论】:

以上是关于当我将 IncludeStyleBlock 属性设置为 True 时,为啥 CSS“会丢失”?的主要内容,如果未能解决你的问题,请参考以下文章

WiX:当我将 repititous <ComponentRef> 替换为 Feature 属性时,片段未包含在内

Leetcode 494 蛮力递归解决方案将变量作为属性使用,但当我将其作为参数传递时不起作用

为什么@EnvironmentObject强制重新初始化视图?

关于 Info.plist 文件和 Xcode 5

捆绑显示名称缺少空格字符

在我的Spring Boot项目中,当我将文件目录更改为src / main / resources时发生了FileNotFoundException