Asp.net 在IIS中发布CSS文件
我不熟悉使用IIS。我已将我的ASP.NET应用程序发布到IIS服务器中,该应用程序使用第三方HTML加载程序,该加载程序加载HTML,但在发布后不应用.css文件的效果。我在HTML的head标记中添加了以下内容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以及指
<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");
}
}