Search code examples
c#javascriptasp.nethidden-field

ASP .net get hidden value from code behind in page_load function


I have a hidden field that I set in my javascript code:

   <script type="text/javascript">

    function start() {            
        document.getElementById('Hidden1').value = "somme value";
     }
   </script>

 <body>

 <form id="form1" runat="server">
   <div>
      <input type="text" id="Hidden1" name="Hidden1" runat="server"/>
  <div>    
 </form>

In my code behind I want to get the input value in my page_load function:

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.ClientScript.IsClientScriptBlockRegistered("start") && !IsPostBack)
        {

            Page.ClientScript.RegisterStartupScript(typeof(Page), "start", "start();", true);

        }
        string message =Hidden1.Value;
    }

The message is empty, how can'I get the hidden value in my page_load?

Thanks.


Solution

  • You are not submitting the page back to the server, you won't be able to "get" page variables unless you are doing a POST.

    change this:

    <form id="form1" runat="server">
     <div>
       <input type="text" id="Hidden1" name="Hidden1" runat="server"/>
     <div>    
    </form>
    

    to this: (EDIT: changed the type="hidden" too)

    <form id="form1" runat="server">
     <div>
       <input type="hidden" id="Hidden1" name="Hidden1" runat="server"/>
     <div>    
     <input type="submit" value="submit" />
    </form>
    

    Then click the submit button