Question: i am using this script in .cs page..

```
public void messagebox(string msg)
{
  Label lbl = new Label();
  lbl.Text = "<script language='javascript'>" + Environment.NewLine + "window.alert('" + msg + "')</script>";
  Page.Controls.Add(lbl);
}

```

error as

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

Answer: 
To register a script on the page use [RegisterStartupScript](http://msdn.microsoft.com/en-us/library/bb359558.aspx)

```
ScriptManager.RegisterStartupScript Method (Control, Type, String, String, Boolean)

```

If you are using an update panel you have to call the first two parameters with the updatepanel control

```
ScriptManager.RegisterStartupScript(updatePanel,
    updatePanel.GetType(),
    "key",            // unique key means it will never insert the same script twice
    "alert('hi');",   // javascript
    true);            // include <script> tags

```
This has nothing to do with Javascript. The error message is pretty clear; you're not allowed to add any more controls to Page.Controls at that point in your code.