加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在IIS中发布CSS文件

发布时间:2020-12-16 09:52:22 所属栏目:asp.Net 来源:网络整理
导读:我是使用IIS的新手.我已将我的ASP.NET应用程序发布到IIS服务器中,该应用程序使用第三方 HTML加载器,它加载 HTML但在发布时不应用.css文件中的效果.我在HTML的head标记中添加以下内容 link href="~/input/docgenix.css" rel="stylesheet" type="text/css" /
我是使用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文件?

解决方法

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

您有两种选择 – 生成< link>元素服务器端(runat =“server”)并在那里填充href属性(其中?被识别,使用Page.ResolveUrl()),或者构造一个不包含波形符的适当相对路径(可能更多)有效).

相对路径

如果您的应用程序托管在域根级别,可能只需要丢失波形符(?):

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

服务器端解决方案

无论Web应用程序是在域根级别还是在文件夹(mysite.com/myapp vs mysite.com)中托管,这都可以正常工作,但效率可能稍低.

在标记中:

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

并在代码隐藏中:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读