ClientDependency now supporting MVC
Make a view dependent on a CSS file based on a path defined as “Styles”
<% Html.RequiresCss("Content.css", "Styles"); %>
Make a view dependent on jQuery using a full path declaration:
<% Html.RequiresJs("/Js/jquery-1.3.2.min.js"); %>
Rendering the Style blocks and defining a global style path:
<%= Html.RenderCssHere(new BasicPath("Styles", "/Css")) %>
Rendering the Script block (no global script path defined):
<%= Html.RenderJsHere() %>
There’s still a provider model for MVC but it uses a slightly different implementation from Web Forms. The same compositeFiles
provider model is used but instead of the fileRegistration
provider model that is used in Web Forms, a new mvc renderers
provider model is used. A renderer provider is similar to the Web Forms fileRegistration
providers but instead of registering the markup in the page using the page life cycle, a renderer provider is used to render out the html block necessary to embed in the page.
All of the functionality that existed in Web Forms exists in MVC. You can make as many views that you want dependent on as many of the same or different client files that you want and the system will still sort by position and priority and remove all duplicate registrations. Rogue scripts & styles still get processed by the composite file provider in MVC. Currently however, if you place user or composite controls on your views that have Client Dependencies tagged with either the control or attribute method used in Web Forms, these will not be registered with the view and output with the renderer.
MVC pages have been added to the demo project as examples so have a look! You can download the source HERE
For full details and documentation go HERE