在IIS中发布CSS文件

时间:2012-11-23 09:51:19

标签: asp.net .net css iis

我是使用IIS的新手。我已将我的ASP.NET应用程序发布到IIS服务器中,该应用程序使用第三方HTML加载器,它加载HTML但在发布时不应用.css文件中的效果。我在HTML

的head标签中添加以下内容
<link href="~/input/docgenix.css" rel="stylesheet" type="text/css" />

我将CSS文件保存在已发布应用程序的输入文件夹中。

另一方面,如果从互联网上的一些预先存在的页面的源添加HTML以及到其CSS文件的链接,则可以看到CSS文件的效果。例如:

<link rel="stylesheet" type="text/css" href="http://cdn.sstatic.net/stackoverflow/all.css">

我的猜测是我的CSS没有随应用程序一起发布。请帮帮我。如何正确发布此CSS文件?

2 个答案:

答案 0 :(得分:2)

文件路径的~部分(表示&#34;应用程序root&#34;)无法识别客户端。

您有两种选择 - 生成<link>元素服务器端(runat="server")并在那里填充href属性(其中~被识别,使用{{1或者,或者构造一个不包含波浪号的适当相对路径(这可能更有效)。

相对路径

如果您的应用程序托管在域根级别,可能只需丢失代字号(Page.ResolveUrl()):

~

服务器端解决方案:

无论Web应用程序是在域根级别还是在文件夹(<link href="/input/docgenix.css" rel="stylesheet" type="text/css" /> vs mysite.com/myapp内)托管,这都可以正常工作,但效率可能会低一些。

在标记中:

mysite.com

并在代码隐藏中:

<link id="lnk" runat="server" rel="stylesheet" type="text/css" />

(注意:这是未经测试的)

答案 1 :(得分:1)

你试过这个吗? :

<link href="<%= Page.ResolveUrl("~/input/docgenix.css") %>"  rel="stylesheet" type="text/css" />