
Question:
I am using the Telerik MVC Extensions and have moved my Scripts folder in to the Content folder. So instead of ...
<script src="<%= Url.Content("~/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript"></script>
... I now have ...
<script src="<%= Url.Content("~/Content/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript"></script>
I realise that I can turn off jQuery inclusion with the ScriptRegistrar().jQuery(false)
method, but how to I tell the Telerik MVC Extensions where the new "base" folder is?
You cannot set a <em>base</em> folder <strong>through the API</strong>, you either follow the MVC convention or you insert your scripts manually. You can, of course, edit the code of the extensions and modify the places where the ScriptRegistrar
looks for them, in the <a href="http://www.telerik.com/help/aspnet-mvc/allmembers_t_telerik_web_mvc_webassetdefaultsettings.html" rel="nofollow">WebAssetDefaultSettings
class</a>.
That said, do you really need the scripts in the Content folder?
Answer2:I'm not sure what version of the Telerik MVC extensions it came with, but you can call <a href="http://www.telerik.com/help/aspnet-mvc/web-assets-working-with-javascript-web-assets.html#ChangeDefaultPath" rel="nofollow">DefaultPath()</a> on the default group to change the base directory:
<%= Html.Telerik().ScriptRegistrar()
.DefaultGroup(g => g.DefaultPath("~/Content/Scripts")
.Add("Main.js"))
%>
Answer3:Since the code formatting is, well not there in the comments, here is my code ...
public class MvcApplication : System.Web.HttpApplication, IContainerAccessor
{
...
protected void Application_Start()
{
...
WebAssetDefaultSettings.ScriptFilesPath = "~/Content/Scripts";
}
...
}