.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

ScriptManager and script placement in the Head versus Form tag

Posted By:      Posted Date: October 06, 2010    Points: 0   Category :ASP.Net


I am using a ScriptManager to place needed scripts on thepage at run time; however, it sometimes places them within the Form tag and sometimes within the Head tag.  Does anyone know what conditions the ScriptManager uses to deteremine where to drop the scripts?  Or, is there a way to force it to always use one or the other?

Thank you.

View Complete Post

More Related Resource Links

ScritpManager and Head versus Form placement


Is there a way to control where the ScriptManager drops registered scripts?  On some pages it puts all the declared scripts in the Form tag, but on other pages, it will drop them into the Head tag.

Thanks for any input

form sliding using java script

how can we use sliding forms in asp.net

ScriptManager CompositeScript Error: A script reference cannot be included multiple times in composi

I am getting the following error using the CompositeScript feature of the ScriptManager.  I have ScriptManagerProxy in several different usercontrols that use CompositeScript to add whatever JS files they need.  Sometimes there are duplicates which would get removed by the script manager, but that is not happening with the Composite Scripts.  Looking at the stack trace, it calls RemoveDuplicates but for some reason it doesn't do so.  Is this a bug?  Is there a workaround or a hotfix? Thanks! A script reference cannot be included multiple times in composite script references. Stack Trace: [InvalidOperationException: A script reference cannot be included multiple times in composite script references.]   System.Web.UI.ScriptManager.RemoveDuplicates(List`1 scripts) +698   System.Web.UI.ScriptManager.RegisterScripts() +328   System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +113   System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +8695102   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1029

Run jQuery script after each form post in mvc2 app


I need to exec some js each time a page loads, and also every time a view is returned after a post action.  I use jQuery.ajax to post form - using url of Controller/Action.  Post is successful and response data is correct, but my js doesn't get called.

I had js in a script tag, within the head of my view.aspx, and found that it does not execute each time the response is received after a post action.  I also tried calling this within $(document).ready, but this does not execute after post action.  window.onload also does not exec after post action.

I prefer not to use MS AJAX js lib, but if there is some pageLoad function, I will give it a try.

Is there a native javascript event that is raised when http response is received?  Thanks.

Client Script Replace Problem with .NET 4.0 ScriptManager



I want to replace the WebUIValidation.js client script (located in System.Web assembly) with my own custom script using the new script replacement features in .NET 4.0.

The replacement works fine in a simple sample form I created, but in my much more complicated wizard form it fails.  On partial post-back the ScriptManager writes the System.Web version to the browser and I end up with both Microsoft's version and my version of the script in the browser. Since the System.Web version loads last, it replaces my custom script.

I am using the ToolkitScriptManager intead of the ScriptManager everywhere. The form that needs the replacement has dynamically created controls (including the validation controls) and has several control extenders based on the AjaxControlToolkit.

Does anyone have any ideas on what could be going wrong, or have any ideas on a workaround for this?

Any help will be appreaciated,


Add Script tag within Head tag in ServerControl (ASP.NET) ?


I'm gonna use JQuery files in my custom ServerControl , So I inserted jquery-1.4.3.min.js file into the Solution in JavaScriptFiles Folder.
Now, I have to add below line within Head tag whenever a user use this ServerControl.

<script type="text/javascript" src="JavaScriptFiles/jquery-1.4.3.min.js"></script>

How can I do it in ServerControl with C#

ScriptManager not loading script resources when page accessed by Chrome


During development of my site, I have optimized for all the common browsers, including Chrome and it works fine when tested locally on my dev machine. However, I have found out that when put on my live dedicated server, the pages that are delivered to Chrome do not contain the AJAX scripts and for example the treeview, which should load its branches dynamically, renders in such a way that a full postback occures. This completely breaks the site in Chrome.

Considering all things I could deduce about the problem, I would suppose that I may need a newer version of MS AJAX that supports Chrome, but I cannot find any version older than Feb 2007 and anyway, Microsoft .NET Framework 3.5 SP1 is installed on the live server. That should contain the propper MS AJAX anyway, shuldn't it?

I've been researching this for more than a whole day now and cannot figure out what's wrong. I even matched and compared all settings of the site on IIS 7 on both my dev machine and the live server. Except a couple of, as far as I can say, unrelated additional entries on the live server, those are identical as well.

I tested using Fiddler that all the difference is made by the User-Agent request header. If I just add

(compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2;

ScriptManager does not execute all script blocks registered when making multiple asynchronous HTTP r


I have found a bug in the ScriptManager.  I am executing Javascript in multiple Update Panels.  I have EnablePartialRendering mode set to true and and the UpdatePanels have update mode set to conditional.

Each UpdatePanel is in a ascx control, and these controls are added to he page programtically using Page.LoadControl().

When the client performs some UI actions in the browser, I am calling __doPostBack().  Each .ascx control will register client script block to be executed in it's UpdatePanel using ScriptManager.RegisterClientScriptBlock(), and each .ascx control uses a unique key when registering the script block.

Everything works as advertised when there is only one _doPostBack() being called at a time, (one HTTP Request).  The problem only occurs when __doPostBack is called before the previous __doPostBack causes the JavaScript registered in the ScriptManager is executed.  When there are multiple, simultaneous, asyncrhonous HTTP Requests to the same page with the same session, only the most recent JavaScript is executed that was registered with ScriptManager.RegisterClientScriptBlock().

I have tested this with both .NET 2.0 and .NET 3.5.  I can produce a VS 2008 solution that demonstrates this problem.  The only way for me to resolve this issue is to prevent multiple calls to __doPostBac

JQuery Validate plugin to validate a ASP.NET Form

The first time I used the JQuery Validate plugin, it did not work at all, see JQuery Validate odd behaviour with the ASP.NET Script Manager for reason, but perseverance and stubbornness prevailed and I finally created my first JQuery validated ASP.NET Forms contact form.

Rendering ASP.NET Script References into the Html Header

One thing that I've come to appreciate in control development in ASP.NET that use JavaScript is the ability to have more control over script and script include placement than ASP.NET provides natively. Specifically in ASP.NET you can use either the ClientScriptManager or ScriptManager to embed scripts and script references into pages via code.

How to use getElementById to get the elements in a form

There are many ways of accessing form elements, of which the easiest is by using the cross-browser W3C DOM document.getElementById method. Before we learn more about this method, it would be useful to know something about the Document Object Model (DOM), the concept of HTML nodes or elements, and the concept of containers.

Each time you load an HTML page, the web browser generates an internal representation of the page in the form of an inverted tree structure. Let us look at a simple form. We will use this form later to demonstrate the use of the getElementById method.

Form view in ASP.NET


hi all...!
i have a database and i create a form with button edit,delete, New Registration..using Formview in asp.net..
everything was working good...

And i write SQL statement to get New ID number into dropdownlist/TextBox when i click button "New Registration".

i can get new(next) ID number after read database
it's also working good

Now i want change it to get ID which was deleted from table and replace the ID with new record...what i need is when i click "New Registration" i want get deleted "ID" first and then go to new record ID...

my code is here:-it working for get next ID after read database.

FROM Table1
AS boon WHERE PANG &gt;300000

*.axd script references not being rendered to browser


I'm running VS2010 with .net 4.0, and am running into issues with the .net ajax script tags mysteriously not being rendered to the browser.

So far I've reduced it to a scenario where I set the DataSourceID property of a databound control.  More specifically, I've only tested it on a Gridview and a DropDownList.

This can be reproduced fairly easily on my machine by following these steps:

1. Create a new empty Web Application Project

2. Create a new Web Form

3. Add a ScriptManager inside the form

4. Add a DropDownList and a DataSource (I used an ObjectDataSource)

5. Set the DataSourceID property of the DropDownList to the ID of the DataSource.  This can be done either declaratively on the .aspx page, or in the code behind in the aspx.cs page, and both produce the same results.

6. Open the page in a browser and watch as you get a javascript error stating "Sys is not defined" and notice that the page source contains no script tags referencing *.axd scripts.

Here's my source code showing my set up:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ScriptResourceFAIL.Default" %>


Scripts not read when in head tag


I just upgraded to VS2010 if that matters.  I'm learning JQuery and noticed that scripts don't work if they're in the head tag.  Also, I need the script tag with type="text/javascript" in the head (with nothing else) in order for the JQuery scripts in the body to work.

Very bizzare, any suggestions?

With a separate script tag in the <body> with my JQuery script, this works

<head runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" />
<script type="text/javascript">

This doesn't:

<head runat="server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" />

Client script not running


Dear all,

in my MVC 2 application, and in the shared Master Page I wrote this little script for menu handling :

<script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript"> $(document).ready(function () {   
     $('#nav li').hover(  
         function () {  
             //show its submenu  
             $('ul', this).slideDown(100);  
        function () {  
           //hide its submenu  
            $('ul', this).slideUp(100);           

The script, that shows menu items when the

form feild hints are not displaying for textboxses inside create user wizard?



I'm using following JS code to display input hint box besides the textbox whenever that asp.net textbox receives focus. 

I'm doing this for a registration form and all of the textboxes are inside the asp.net create user wizard control.

<script type="text/javascript">
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {

function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("TextBox");
	for (var i=0; i<inputs.length; i++){
		// test to see if the hint span exists first
		if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
			// the span exists!  on focus, show the hint
			inputs[i].onfocus = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
			// when the cursor moves away from the field, hide the hint
			inputs[i].onblur = function () {
				this.parentNode.getElementsByTagName("span")[0].style.display = "none";

Potentially dangerous script....blah blah


explain this one - -   (please)

2 projects - same code - one, using 2008, one using 2010 - a textbox a button and a label, using html code in the textbox

In the Page Directive:
EnableEventValidation="false" ValidateRequest="false&q

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend