2010-07-23 26 views

Trả lời

49

WebResource.axd cung cấp quyền truy cập vào tài nguyên được nhúng trong dự án. Đó là một trình xử lý cho phép các nhà phát triển kiểm soát và phát triển trang tải xuống các tài nguyên được nhúng trong một hội đồng cho người dùng cuối.

Bạn bao gồm WebResources trong AssemblyInfo của bạn:

[assembly: System.Web.UI.WebResource("Project.Styles.Main.css", "text/css")] 

Sau đó, bạn có thể nhận được một bao gồm đường dẫn cho trang của bạn bằng cách sử dụng đoạn mã sau:

string includeLocation = Page.ClientScript.GetWebResourceUrl(this.GetType(),  
    "Project.Styles.Main.css"); 

Sau đó, để thêm các tập tin trên (mà là một Tệp CSS trong trường hợp này):

LiteralControl include = new LiteralControl(
    String.Format(includeTemplate, includeLocation)); 

((System.Web.UI.HtmlControls.HtmlHead)Page.Header).Controls.Add(include); 

Sau đó, bạn sẽ thấy tài liệu tham khảo bên trong nguồn trang như sau:

/WebResource.axd?d=PhPk80h_UWEcbheb-NHNP5WshV_47UOpWqAOl1_li 
    UFfN4cNofL74cFlQ1fvpFSf0&t=632573240669964903 
+0

Làm thế nào/ở đâu là 'includeTemplate' tuyên bố? – Matt

9

Đó là tệp HttpHandler được tạo. Nhiều khả năng bạn có một số tài nguyên nhúng trong ứng dụng ASP.NET của bạn, hoặc một trong các thành phần của bên thứ ba mà bạn sử dụng. Để vận chuyển chúng một cách minh bạch, ASP.NET sử dụng cách tiếp cận này, nơi tài nguyên chính xác có thể được xác định tùy thuộc vào chuỗi truy vấn được truyền vào. Ví dụ:

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

Lấy từ Using WebResource.axd for embedded resources.