母版页中的ASP.NET CSS文件

时间:2010-04-25 09:53:33

标签: asp.net css hyperlink master-pages

在我的申请中,我有下一个问题。我创建了母版页和一些内容页面,其中一些位于嵌套文件夹中。在母版页中,我添加了.css文件的链接

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

但是页面位于嵌套文件夹中,不能使用此.css文件。我怎样才能解决这个问题?我希望所有页面都有一个.css文件(:

谢谢!

5 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:7)

可以通过在母版页中添加下一个代码来解决此问题

<style type="text/css" runat="server">
    @import '<%= ResolveUrl("~/default.css")%>';
</style>

但是VS的设计师无法处理这个,你无法在其中查看你的风格。

答案 2 :(得分:3)

如果您在网站下使用网站,请更改子文件夹母版页面CSS链接

<link href="Styles/Site.css" rel="stylesheet" type="text/css" />

以下更改

<link href="../Styles/Site.css" rel="stylesheet" type="text/css" />

答案 3 :(得分:2)

css不应该相对于母版页而是相对于使用母版页的Page实例的位置而言。在大多数情况下,这将是相同的,但我总是尝试使用完全限定的路径或站点相对路径

完全合格的路径

<link href="http://some.site.com/mysite/styles/default.css" rel="stylesheet" type="text/css" /> 

或相对路径(请注意,如果您的版本只能托管一个网站但许多应用程序(如WinXP),则可能无效)

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

赢取xp相对路径

<link href="/path/to/application/default.css" rel="stylesheet" type="text/css" />

答案 4 :(得分:1)

您为样式表定义的方式意味着:样式表与使用它的页面位于同一文件夹中

如果您想为所有页面设置一个样式表,您应该将其放在一个位置(我更喜欢应用程序根目录中的/assets/css文件夹)并使用此文件夹定义路径:

<link href="/assets/css/default.css" rel="stylesheet" type="text/css" />

另一种方法是使用Themes,在这种情况下,将自动添加样式。