Ok I've been using jQuery for several years now and know how to write code using it. For years I would download the current minified scripts from jQuery and reference in my Master page or the like.
Well in VS.NET 2012 (and 2010 as well I believe), the web forms project template convienently provides a ton of the jQuery scripts and even CSS classes. Normally I don't have to add any additional references and intellisense works great.
Recently I wanted to use a jQuery Message Dialog
which requires jquery-ui.css
The site tutorial makes reference to the CDN location, so to get it working I added the following:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
The thing is the project by default already has this file under the following location:
~/Content/themes/base/jquery-ui.css
However, when I removed the CDN link reference to the css
file the modal lost it's styling. I figured since those scripts are already in my application I didn't need to explicitly reference them. However, if I remove the CDN reference and explicitly reference the css
file, it will work:
<link rel="stylesheet" href="~/Content/themes/base/jquery-ui.css" />
So I need an education here please. Is the ASP.NET webforms project just providing all the scripts and styling, but only referencing some of the files? I see the following (2) inside the ScriptManager
reference:
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="jquery.ui.combined" />
Is that taking care of the reference to the main jquery-2.0.3.js
files for me, since I have never had to reference it explicitly? Why did I have to explicitly add in the reference to jquery-ui.css
even though it's a part of the project? I need to organize how VS.NET and ASP.NET are managing these files, so I'm not guessing and understand how they are being referenced or not referenced please.