2012-06-09 20 views
5

Tôi đã sử dụng Gói trong MVC để đóng gói tất cả tập lệnh và CSS với nhau, điều này thật tuyệt vời nhưng ... Có cách nào để bao gồm tập lệnh hoặc css từ tài nguyên trong chia sẻ dự án thư viện trong một Bundle, hoặc không ai biết điều gì đó tương tự như bó có thể làm điều này?Bó kịch bản và CSS từ tài nguyên trong hội đồng cho MVC

+2

Hi, ở đó. Bạn đã nhận được một giải pháp cho điều này? – Captain0

Trả lời

1

tôi có lẽ bắt đầu viết một bó tùy chỉnh chuyển đổi lớp để đọc các tài nguyên cần thiết và trở về nội dung của họ và loại nội dung:

public class ResourceTransform : IBundleTransform 
{ 
    public void Process(BundleContext context, BundleResponse response) 
    { 
     string result; 

     using (Stream stream = Assembly.GetExecutingAssembly() 
      .GetManifestResourceStream("YourAssemblyNamespace.YourResourceFolder.YourFile.css")) 
     { 
      using (StreamReader reader = new StreamReader(stream)) 
      { 
       result = reader.ReadToEnd(); 
      } 
     } 

     response.ContentType = "text/css"; 
     response.Content = result; 
    } 
} 

Đối với sử dụng sản xuất có thể bạn muốn làm cho lớp ResourceTransform một chút ít mã hóa và gửi tài nguyên bạn muốn làm thông số hoặc thuộc tính, nhưng bạn có ý tưởng.

Bằng cách đó bạn có thể thêm nhóm này vào bộ sưu tập của bạn:

Bundle resources = new Bundle("~/css/resources"); 
    resources.Transforms.Add(new ResourceTransform()); 
    resources.Transforms.Add(new CssMinify()); 

bundles.Add(resources); 
Các vấn đề liên quan