n this tutorial we will learn how to use JQuery with master pages in ASP.NET 4.0. Typically when you are working with an ASP.NET page, referencing external JavaScript libraries is easy. However, things get a little tricky when you begin working with master pages. Master pages do some weird things behind the scenes, that you will need to understand in order to be able to use JQuery on your pages effectively.

To begin, create a new ASP.NET Empty Web Site in Visual Studio. First, we will need to add a reference to JQuery. If you don’t have JQuery you can download it at http://jquery.com/. Once you have it, you are ready to add it to your project. To do this:

  1. Right click the project in your solution explorer.
  2. Select ‘Add Existing Item…’.
  3. Navigate to your JQuery file and select it.
  4. Click add.

Now that we have the library local to our project, we will create a new master page to reference this from. To add a new master page:

  1. Right click the project in your solution explorer.
  2. Select ‘Add New Item…’.
  3. Select a master page and name it ‘MasterPage.master’.
  4. Click add.

Typically, when a reference or script is added to an ASP.NET page it is added in the head section. We will be adding our JQuery reference here, however we must be careful about our positioning. The master page also generated two ContentPlaceHolder sections. One in the head section appropriately named ‘head’, and the other in the body section named ‘ContentPlaceHolder1′. When we write scripts on our other web pages that will be using JQuery, we must ensure that the JQuery reference comes before the script using it. In this case, we will want to drag and drop the JQuery file into our head section, right about the ‘head’ content place holder. My new head section looks like the following:

Next, we need to add a new ASP.NET page to our project using our master page. To do this:

  1. Right click the project in your solution explorer.
  2. Select ‘Add New Item…’.
  3. Select a new ASP.NET page and name it ‘Default.aspx’.
  4. Click the ‘Select master page’ check box.
  5. Click add.
  6. Select ‘MasterPage.master’ and click OK.

Cool, we now have a new page using our master page. This page contains two Content sections that correspond to the ContentPlaceHolder sections of our master page. In this case, we will add some test code to our ‘head’ content section which will use some JQuery. It is important to note that this will work here only because we have configured our master page to have a reference to JQuery before our scripts on this page are read.

To this page, go ahead and add a new button with a Text property of ‘Click Me’, and an OnClientClick property of ‘ButtonClick()’. Next, add the following code to the ‘head’ content section:

This is a simple script that will grab our button by its ID and display the value it holds. It is important to note that Microsoft’s naming standards come into play here when you place controls inside of content place holders. If you were to look at the generated HTML of the page, you would notice that our ‘Button1′ control has an ID of ‘ContentPlaceHolder1_Button1′. This is because the content place holder it is in is added to the beginning of the control, separated by an underscore.

Server Intellect assists companies of all sizes with their hosting needs by offering fully configured server solutions coupled with proactive server management services. Server Intellect specializes in providing complete internet-ready server solutions backed by their expert 24/365 proactive support team.

To test this out, load up the web site and click the button. You should see an alert box that displays the message ‘Click Me’ which corresponds to the text in our button. This demonstrates how to set up your master pages to work easily with JQuery. I hope that this helps, happy coding!