【问题标题】:How do I add a Css file to my Class library?如何将 Css 文件添加到我的类库?
【发布时间】:2011-12-24 14:07:06
【问题描述】:

我有一个正在被另一个项目使用的类库,它被添加到工具箱中,然后拖到页面上。效果很好!

唯一的问题是我想要添加一些样式。

在我的类库中,我有:

  1. 添加了一个 css 文件“PayMyBillClassLibrary.main.css”,

  2. 在 AssemblyInfo 中添加了以下内容:

    [程序集:WebResource("PayMyBillClassLibrary.main.css", "text/css")]

  3. 使用以下代码在主类中添加 css 文件:

        string cssUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "PayMyBillClassLibrary.main.css");
    
        HtmlLink cssLink = new HtmlLink();
        cssLink.Href = cssUrl;
        cssLink.Attributes.Add("rel", "stylesheet");
        cssLink.Attributes.Add("type", "text/css");
    
        this.Page.Header.Controls.Add(cssLink);  
    

这会在我之前提到的包含类库的解决方案中产生以下内容。

<link href="/TestTwo/WebResource.axd?d=DkBjNt27-P0jDJmlJk7Z40MOLq_coWgDQBzgcFJIGLo-9W-RQClfELNEGAApBuu-kkPiYrB_2uU24xTCwXsn5uKPcaWSRY7vHpLnJEGzoCJ9DdIrd-9StVNbLyRKSYvvUA4x2w2&amp;t=634563635276884818" rel="stylesheet" type="text/css" />

如果我点击查看源代码中的链接,它只会显示一个空白页面,如果我将 CSS 引用更改为murr.css,它会说未找到。所以它似乎是在找到 CSS 文件,但没有对它做任何事情或拿起文件中的 CSS。

有人有什么建议吗?

【问题讨论】:

  • 如果你运行 fiddler,那么看看你的请求返回了什么,你得到了什么?

标签: c# asp.net css class-library


【解决方案1】:

您可以尝试在标题中放置文字控件,并在代码隐藏中设置文字内容。

<asp:Literal id="cssliteral" runat="server" /> 

代码隐藏:

cssLiteral.Text = String.Format("<link href='{0}' rel='stylesheet' type='text/css' />", cssUrl);

【讨论】:

  • hmmm,我知道我可以做到,jsut 似乎有点 hacky
  • 但是即使你这样做,问题似乎是你根本没有得到一个有效的网址,对吗?如果你用萤火虫或其他东西检查它,你能看到那个 Url 的内容吗?
  • 我尝试了所有其他的,但都没有奏效!所以尝试了你的,它奏效了!!!谢谢!
猜你喜欢
  • 2012-07-27
  • 1970-01-01
  • 2013-06-06
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 2021-10-31
  • 2017-06-26
相关资源
最近更新 更多