<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>HiddenField Control</title> </head> <script language=javascript> function ChangeHiddenValue() { alert('Entering ChangeHiddenValue'); var hdnId = '<%=hdnSecretValue.ClientID%>' var hdn = document.getElementById(hdnId); var txt = document.getElementById('txtSecretValue'); hdn.value = txt.value; alert('Value changed'); } </script> <body> <form id="form1" runat="server"> <div> <h1>HiddenField Control</h1> <h2>This page was posted at <% =DateTime.Now.ToString() %>.</h2> <asp:HiddenField ID="hdnSecretValue" runat="server" OnValueChanged="hdnSecretValue_ValueChanged" /> Enter secret value: <asp:TextBox ID="txtSecretValue" runat="server" /> <br /> <br /> <input type=button value="Change hidden value" onclick="ChangeHiddenValue()" /> <asp:Button ID="btnPost" runat="server" Text="Post" /> <br /> <br /> <asp:Label ID="lblMessage" runat="server" Text=""/> </div> </form> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default_aspx : System.Web.UI.Page { protected void hdnSecretValue_ValueChanged(object sender, EventArgs e) { HiddenField hdn = (HiddenField)sender; lblMessage.Text = "The new value is " + hdn.Value + "."; } }