2012-01-18 24 views
6

tôi có 2 trang trong ASP.NetWebResource.axd

Trang đầu tiên có một số kiểm soát Net và do đó làm cho ra javascript bao gồm cho WebResource.axd

Các trang khác không làm cho bất kỳ Net kiểm soát và có một số javascript tùy chỉnh tạo ra một số html. Điều này bao gồm các trình duyệt tính hợp lệ và các điều khiển .Net khác như WebResource.axd không được hiển thị ban đầu và không có đăng lại Tôi gặp sự cố khi gửi trình xác thực, v.v.

Câu hỏi đặt ra là IIS hoặc .Net hoạt động như thế nào tạo ra WebResource.axd để tôi có thể làm cho trang mới của tôi hiển thị điều này mặc dù ban đầu .Net không nghĩ rằng nó là cần thiết.

+0

Bạn có thể hiển thị cho chúng tôi đánh dấu trang không hoạt động mà không có WebResource.axd không? –

Trả lời

4

WebResource.axd được thêm vào các trang của bạn có chứa điều khiển .Net với tài nguyên được nhúng. Vì vậy, nếu bạn có một trang không có điều khiển với tài nguyên được nhúng, tức là HTML chuẩn, bạn sẽ không thấy tệp WebResource.

Dưới đây là một blog tốt về cách thức hoạt động: http://scottonwriting.net/sowblog/archive/2010/10/28/just-where-is-webresource-axd.aspx

1

Bao gồm các WebResource.axd sẽ được bổ sung bằng các điều khiển (người cần nó) chính nó. Chúng sẽ không được thêm vào bởi IIS hoặc khung ASP.NET cơ bản.

Vì vậy, ví dụ nếu một điều khiển có một sự phụ thuộc vào một webresource nhúng nó sẽ làm một cái gì đó như thế này:

string scriptUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "RESOURCE_NAME.js") 

Page.ClientScript.RegisterClientScriptInclude("RESOURCE_NAME.js", scriptUrl); 

Dường như bạn đã tạo ra một sự phụ thuộc vào một nguồn tài nguyên web mà không được bao gồm bởi vì bạn không yêu cầu. Nó hoạt động trên trang đầu tiên chỉ vì thực tế điều khiển khác trên trang đầu tiên của bạn cũng cần nó.

Vì vậy, trước khi bạn có thể tiếp tục, bạn cần phải biết bạn cần tài nguyên web nào và sau đó tự bao gồm tài nguyên đó. Vấn đề duy nhất tôi có với giải pháp này là bạn đang sử dụng tài nguyên web không nằm trong tầm kiểm soát của bạn. Vì vậy, nếu bạn có thể tự viết nó.

Các vấn đề liên quan