由于virturl目录名称不是固定的,我现在写了下面的代码将.css文件包含在.aspx页面中。在asp.net中包含.css文件
<link rel="Stylesheet" href="<%= ResolveUrl("~/Css/xxx.css") %>" type="text/css" />
问题是,当我在标签中使用“ResolveUrl”时,IDE总是咆哮着所有的CSS类都是未定义的。
有没有更好的方法来定义.css文件,包括?
由于virturl目录名称不是固定的,我现在写了下面的代码将.css文件包含在.aspx页面中。在asp.net中包含.css文件
<link rel="Stylesheet" href="<%= ResolveUrl("~/Css/xxx.css") %>" type="text/css" />
问题是,当我在标签中使用“ResolveUrl”时,IDE总是咆哮着所有的CSS类都是未定义的。
有没有更好的方法来定义.css文件,包括?
你可以用HTML服务器控件(注意runat="server"
)像这样做:
<link rel="stylesheet" runat="server" media="screen" href="~/css/styles.css" />
这仍然会为您解析虚拟目录。它还应该支持aspx页面上的css intellisense和警告。
IDE不会知道您正在包含该css文件,只是因为它会在运行时生成,而不是在它之前生成。
如果您需要intelisense手动将其手动并在需要时进行更改。
您可以在<% if (false) { %>
内静态包含这些文件。
这样,Visual Studio的IntelliSense将会看到这些文件,但ASP.Net运行时不会。
(和if (false)
块应该被编译器优化掉,所以应该是零性能损失)
Arrrr你输入的比我快!这是IMO的最佳解决方案。您可以继续按现在的方式引用文件,然后使用物理路径复制所有引用,并将重复文件包装在一个'if(false){ – 2010-07-22 01:49:50
}我认为即使没有runat =“server”也可以工作 – 2010-07-22 01:56:53
代字号(〜)URL语法需要runat =“server”。 – 2010-07-22 03:07:29
太棒了!万分感谢! – but 2010-07-22 06:01:01