The build in Page.ClientScript object allows you to place JavaScript inside an ASP.NET page. We cannot use this object to place JavaScript code or JavaScript include file into the head section of the page.

With ASP.NET 2.0, Visual Studio 2005 automatically places the runat="server" attribute  in the head tag of each page which allows us to interact with the page header.

You may add JavaScript code inside the page header with the following code block:

HtmlGenericControl include = new HtmlGenericControl("script");
include.Attributes.Add("type", "text/javascript");
include.InnerHtml = "alert('Hello World');";

And, you may add JavaScript include file inside the page header with the following code block:

HtmlGenericControl include = new HtmlGenericControl("script");
include.Attributes.Add("type", "text/javascript");
include.Attributes.Add("src", "/jsInclude.js");

Fortunately, Simone B created a library, to include/register scripts and style sheets into the head portion of an ASP.NET page.

HeadScriptManager Class Diagram
HeadScriptManager Class Diagram

In order to use the class library, reference the assembly, create an instance of HeadScriptManager and call its methods.

HeadScriptManager hm = HeadScriptManager.Current;
hm.RegisterHeadScriptResource(typeof(jTip), "jTip.jTip.js");

Source and binaries are available at sourceforge.net.

HeadScriptManager Sample Code
HeadScriptManager Sample Code


Want automatic updates? Subscribe to our RSS feed or
Get Email Updates sent directly to your inbox!

Currently rated 4.5 by 4 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


September 3. 2007 14:07

Trackback from DotNetKicks.com

HeadScriptManager - Registering scripts into the page header

DotNetKicks.com | Reply

September 7. 2007 18:20

Pingback from mhinze.com

23 Links Today (2007-09-07)

mhinze.com | Reply

May 16. 2008 13:49

hai,i am developing a online application.i need some help from u.in my application i have four sections namely aptitude,basic etc.when an user clicks  two things should happen 1)the aptitude button i had setted the duration to 30 minutes using javascript function and i am calling the javascript function in page load using attributes method(button aptid.attributes.add("onclick","functionname()");2)the questions should be displayed .the problem is when i write the attributes in the page load event only the jsfunction is executing and the onclick event for the button is not fired .suggest me

hussain | Reply

November 4. 2009 13:08

Social comments and analytics for this post

This post was mentioned on Twitter by bloggingdev: HeadScriptManager - A class library for registering scripts into the page header with ASP.NET 2.0 - http://su.pr/4S2Ser

uberVU - social comments | Reply

Add comment

(Will not be displayed!)