Home > DeveloperSection > Forums > What is CSS Bundles with Controller Route Source
Hugh Jackman
Hugh Jackman

Total Post:52

Points:366
Posted on    November-14-2014 11:06 PM

 ASP.Net C#  ASP.NET MVC  Mvc5 
Ratings:


 1 Reply(s)
 719  View(s)
Rate this:

I created a controller path to return a css file, which works, and returns Response.ContentType = "text/css".

Now I'm trying to put that URL in my bundles file, like this:

bundles.Add(new StyleBundle("~/Content/custom").Include(

  "~/CSS/Custom/1"

));

NOTE: /CSS/Custom/1 is a route that returns a text/css file.

In my view I have:

@Styles.Render("~/Content/custom")

When I build the project, the bundler returns this in my HTML:

<link href="/Content/custom?v=" rel="stylesheet"/>

When I view the files source, It's empty.

How do I get this to work?



Norman Reedus
Norman Reedus

Total Post:45

Points:315
Posted on    November-15-2014 3:20 AM

Not sure why you'd want to do this

After taking a look at it in reflector, during the bundling process it will take the virtual path to the item and check to make sure the file exists. (Code below) So bundling without CDN absolutely requires a file, not an application route.

if ((this.VirtualPathProvider == null) || this.VirtualPathProvider.FileExists(virtualPath))

{

    base.Add(new BundleItem(virtualPath, transforms));

}

CDNs never hit this line, they take a different path.

bundles.UseCdn = true;

bundles.Add(new StyleBundle("~/Content/custom", "/CSS/Custom/1"));

BundleTable.EnableOptimizations = true;


Don't want to miss updates? Please click the below button!

Follow MindStick