我使用常用的实用程序方法控制一组页面的样式。我想做的是检查.css文件以查看是否存在css类;如果它然后选择它,否则选择默认值。
说PageA.aspx和PageB.aspx都使用包含.default {...}的styles.css 如果我希望PageA.aspx的样式不同,我只需在styles.css .PageA {....}等中添加另一个条目。在运行时,它将搜索名为PageB的css类,因为它找不到它,它将默认为默认类。
问题是如何检查.css文件以查明代码隐藏中是否存在特定的css类。
谢谢
答案 0 :(得分:1)
简单的方法是应用默认样式,然后应用pageA样式。如果pageA声明不存在,浏览器应该忽略它 但是我认为Right Thing™将在ASP中处理这个问题,或者像Seb建议的那样使用单独的文件。
答案 1 :(得分:0)
SO中的许多问题都要求特定的解决方案,但没有说明背后的真正问题,因此很难正确回答。
但是我怀疑通过在3个不同的文件中分割样式并包括您需要的内容,可以更轻松地实现您的要求:
然后,你包括styleA.css或styleB.css,具体取决于你正在显示的页面,就是它。
如果这不能解答您的问题,那么您可能会发布您的真正的问题而不是您尝试编码的解决方案 - 这可能不是最佳解决方案。
BTW:我认为没有办法知道定义了哪些CSS类;你只是设置和取消它们。
答案 2 :(得分:0)
您可以使用StreamReader
加载css文件(因为它是一个文本文件)并使用String.IndexOf()
方法逐行搜索,但这对于每页加载。
答案 3 :(得分:0)
你的问题没有多大意义,但由于CSS不是一种编程语言,如果你想知道另一个文件中的内容,你将不得不在别的地方做。