I've got an ASP.NET MVC application that uses jQuery. To load the js libraries, I reference them like this:
<script type="text/javascript" src="../../Scripts/jquery-1.3.2.min.js"></script>
This works fine locally, but when I publish it to the server, it can't find the library. To get it to work, I have to change it to this:
<script type="text/javascript" src="../Scripts/jquery-1.3.2.min.js"></script>
Making this change allows it to work locally and on the server, but it gives me a warning that the file was not found. So I've got a couple of questions:
I know an answer to #2 is to store the libraries in some known absolute path, but I'm not ready to commit to that yet.
Try this:
<script type="text/javascript" src='<%= Url.Content("~/Scripts/jquery-1.3.2.min.js") %>'></script>
This will relativize the path to the root of your application regardless of whether it is at the top level or in a virtual directory. I actually developed a HtmlHelper extension that lets clean this up to:
<%= Html.Javascript( Url.Content( "~/Scripts/jquery-1.3.2.min.js" )) %>
Add the following to get intellisense. This needs the relative path to work, but gets excluded at runtime because the condition (always) fails.
<% if (false) { %>
<script type="text/javascript" src="../../Scripts/jquery-1.3.2.vsdoc.js"></script>
<% } %>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With