Asp.net 在IIS中发布CSS文件

Asp.net 在IIS中发布CSS文件,asp.net,.net,css,iis,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文件保存在已发布应用程序的输入文件夹中 另一方面,如果添加来自internet上某个预先存在的页面源的HTML以及指

我不熟悉使用IIS。我已将我的ASP.NET应用程序发布到IIS服务器中,该应用程序使用第三方HTML加载程序,该加载程序加载HTML,但在发布后不应用.css文件的效果。我在HTML的head标记中添加了以下内容

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

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

另一方面,如果添加来自internet上某个预先存在的页面源的HTML以及指向其CSS文件的链接,则可以看到CSS文件的效果。例如:

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


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

您尝试过此方法吗?:

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


客户端无法识别文件路径的
~
部分(表示“应用程序根目录”)

您有两个选项-在服务器端生成
元素(
runat=“server”
)并在那里填充
href
属性(其中使用
Page.ResolveUrl()
)识别
~
),或者构建不包含波浪号的适当相对路径(这可能更有效)

相对路径

如果应用程序托管在域根级别,则可能只需要丢失波浪号(
~
):

<link href="/input/docgenix.css" rel="stylesheet" type="text/css" />
在代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        lnk.Attributes["href"] = Page.ResolveUrl("~/input/docgenix.css");
    }
}

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

你建议我如何走这条路?用例子更新了我的答案。
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        lnk.Attributes["href"] = Page.ResolveUrl("~/input/docgenix.css");
    }
}