我在ASP.NET Webform项目中使用WebResource加载.css文件时遇到问题。该项目引用了sharedProject文件夹。项目中的每个页面都继承自sharedProject内部的公共基础页面。现在,我在sharedProject内创建一个CommonStyle.css,然后尝试将其注入基础页面。

奇怪的是,带有404错误消息的WebResource的类型为“ text / html”。将PageBase.cs移到MyProject文件夹后,WebResource即可成功加载。我现在非常沮丧和困惑。请帮忙。

目录结构如下:


共享项目


CommonStyle.css
PageBase.cs

我的项目


网页1
网页2
网页3



PageBase.cs中的代码,OnInit函数:

    protected override void OnInit(EventArgs e)
    {
        HyperLink hlHelpFile = new HyperLink();
        ClientScriptManager cs = Page.ClientScript;
        Type rsType = typeof(PageBase);
        hlHelpFile.NavigateUrl = cs.GetWebResourceUrl(rsType, "Web.CommonStyle.css");
        this.Page.Header.Controls.Add(hlHelpFile);

        HtmlLink css = new HtmlLink();
        css.Href = hlHelpFile.NavigateUrl;
        css.Attributes.Add("rel","stylesheet");
        css.Attributes.Add("type","text/css");
        css.Attributes.Add("media","all");
        this.Page.Header.Controls.Add(css);

        base.OnInit(e);
    }


我还在AssemblyInfo.cs中添加了webResourceAttribute,如下所示:

[assembly: WebResourceAttribute("SharedProject.CommonStyle.css", "text/css")]

最佳答案

我已经努力了很多,但终于想通了。问题是我将组装信息放在错误的位置。 WebResource程序集应始终与基本页面类(共享项目)放在同一项目中。

我知道这是一个愚蠢的错误。如果有人在同样的问题上苦苦挣扎,我将把它放在这里。

10-02 05:52