我在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程序集应始终与基本页面类(共享项目)放在同一项目中。
我知道这是一个愚蠢的错误。如果有人在同样的问题上苦苦挣扎,我将把它放在这里。