WebResource.axd404

WebResource.axd 404

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

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

目录结构如下:

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 程序集应始终与基页放在同一项目中 class(共享项目)。

我知道这是一个愚蠢的错误。我会把它放在这里,以防其他人遇到同样的问题。

确保最大查询字符串和最大 url 大小足够大;

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="52428800" maxUrl="760" maxQueryString="390" />
    <!--50MB-->
    <verbs>
      <add verb="TRACE" allowed="false" />
      <add verb="OPTIONS" allowed="false" />
    </verbs>
  </requestFiltering>
  <isapiCgiRestriction notListedIsapisAllowed="false" />
</security>