title: How to obtain a value of an input (type text) on server side in ASP.NET?
body: <p>Using the HTML markup</p>
  
  <pre><code>&lt;form id="form" runat="server"&gt;
    &lt;input id="donkey" type="text" placeholder="monkey" runat="server" /&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>I hoped to get the entered value in code behind by</p>
  
  <pre><code>String s = Request.Form["donkey"];
  </code></pre>
  
  <p>but it only produces null value. When I investigate the data structure I get something like <code>$ctl00$main$donkey</code> so I know it's there. After a while, I simply switched to</p>
  
  <pre><code>&lt;form id="form" runat="server"&gt;
    &lt;asp:TextBox id="donkey" type="text" runat="server"&gt;&lt;/asp:TextBox&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>but I still wonder how to reference the object from server-side if I for some reason won't switch to ASP-component.</p>