我用 ASP.NET 开发网站已经有一段时间了。当我第一次了解主题和皮肤如何在 ASP.NET 中工作时,我发现它非常简单易用。
但后来,我开始发现 App_Themes 方法很烦人,而且我们放入其中的 CSS 一点也不灵活。我错过了什么吗?
CSS 文件会自动添加到使用主题的 aspx 页面中:
当我第一次开始 Web 开发时,我曾经发现这很有帮助。但后来,当我对 CSS 了解得越来越多时,我开始觉得这真的很令人不安。有时,有些页面,添加某个 CSS 文件是没有用的。
最糟糕的是,它总是按字母顺序添加它们,因此您无法控制哪个文件是第一个。如果您已经完成了某种“重置”CSS 文件,这一点尤其重要。因此,命名文件并不总是您希望它们成为的名称,因为您希望重置的 CSS 文件按字母顺序排列在顶部。
我确实意识到解决方案是将所有 CSS 代码放在一个文件中(这实际上更适合生产环境)。但这非常不灵活,并且会使 CSS 代码的管理变得非常困难。
网址重写
这是一个主要问题,因为添加到网站的 CSS 文件是真正的 aspx 页面的相对路径,而不是重写后的 URL。
例如,如果此 URL:http://www.example.com/date/category/item.aspx是从http://www.example.com/items.aspx?id=item重写的。该页面内的 CSS 文件的链接如下所示:
<link href="App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
它应该在哪里:
<link href="../../App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
或者简单地说:
<link href="http://www.example.com/App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
从而破坏了网页设计,因为浏览器将找不到 CSS 文件。
这是我对主题的两个主要问题。因此,我要问的是,放弃 App_Themes 方法并切换回“老派” CSS 设计(即创建一个普通文件夹,将我的 CSS 文件放入其中,然后手动添加这些 CSS 的链接到我的页)?有什么我在这里缺少的功能吗?