【发布时间】:2010-07-23 12:27:08
【问题描述】:
我在使用 Blowery web 和 WebResource.axd 时遇到问题。
什么是 WebResource.axd?
【问题讨论】:
标签: c# asp.net web-config
我在使用 Blowery web 和 WebResource.axd 时遇到问题。
什么是 WebResource.axd?
【问题讨论】:
标签: c# asp.net web-config
WebResource.axd 提供对项目内嵌入资源的访问。它是一个处理程序,使控件和页面开发人员能够将嵌入到程序集中的资源下载给最终用户。
您在您的 AssemblyInfo 中包含 WebResources:
[assembly: System.Web.UI.WebResource("Project.Styles.Main.css", "text/css")]
然后您可以使用以下代码为您的页面获取包含路径:
string includeLocation = Page.ClientScript.GetWebResourceUrl(this.GetType(),
"Project.Styles.Main.css");
然后添加上面的文件(本例是CSS文件):
LiteralControl include = new LiteralControl(
String.Format(includeTemplate, includeLocation));
((System.Web.UI.HtmlControls.HtmlHead)Page.Header).Controls.Add(include);
然后您最终会在您的页面源代码中看到如下引用:
/WebResource.axd?d=PhPk80h_UWEcbheb-NHNP5WshV_47UOpWqAOl1_li
UFfN4cNofL74cFlQ1fvpFSf0&t=632573240669964903
【讨论】:
includeTemplate 是如何/在哪里声明的?
这是一个生成的 HttpHandler 文件。您的 ASP.NET 应用程序或您使用的第三方组件之一很可能有一些嵌入式资源。为了以透明的方式传输这些,ASP.NET 使用了这种方法,可以根据传入的查询字符串来识别正确的资源。例如:
WebResource.axd?d=PhPk80h_UWEcbheb-NHNP5WshV_47UOpWqAOl1_liUFfN4cNofL74cFlQ1fvpFSf0&t=632573240669964903
【讨论】:
【讨论】: