title: How does ASP.NET know which Button was clicked in order to raise its event
body: <p>When using a <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.aspx" rel="nofollow"><code>LinkButton</code></a> the <code>doPostBack()</code> function is rendered in the page and when the button is clicked <code>doPostBack()</code> is invoked at client side submitting the form to the server and also sending information in two hidden fields called <code>EVENTTARGET</code> and <code>EVENTARGUMENT</code>. The <code>EVENTTARGET</code> holds the control name which caused the postback and <code>EVENTARGUMENT</code> holds any info.</p>
  
  <p>With this ASP.NET engine gets the control name from <code>EVENTTARGET</code> argument which caused postback and calls <code>RaisePostBackEvent()</code> event to call right server side event handler. I understand how <code>doPostBack()</code> works and how server side event handler is called.</p>
  
  <p>However for a normal server button how is the correct button click at server side called? How is ASP.NET notified on the control name that was clicked client side?</p>