2010-07-23 126 views

回答

49

WebResource.axd提供對項目內嵌入資源的訪問。它是一個處理程序,它使控制和頁面開發人員能夠將嵌入程序集的資源下載到最終用戶。

您在您的程序集信息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 
+0

如何/哪裏是'includeTemplate'申報? – Matt 2016-12-09 12:16:08

9

這是一個生成的HttpHandler文件。很可能您的ASP.NET應用程序中有一些嵌入式資源,或者您使用的是第三方組件之一。爲了以透明的方式傳輸這些數據,ASP.NET使用這種方法,根據傳入的查詢字符串可以識別正確的資源。例如:

WebResource.axd?d=PhPk80h_UWEcbheb-NHNP5WshV_47UOpWqAOl1_liUFfN4cNofL74cFlQ1fvpFSf0&t=632573240669964903 

摘自Using WebResource.axd for embedded resources