When using a [`LinkButton`](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.aspx) the `doPostBack()` function is rendered in the page and when the button is clicked `doPostBack()` is invoked at client side submitting the form to the server and also sending information in two hidden fields called `EVENTTARGET` and `EVENTARGUMENT`. The `EVENTTARGET` holds the control name which caused the postback and `EVENTARGUMENT` holds any info.

With this ASP.NET engine gets the control name from `EVENTTARGET` argument which caused postback and calls `RaisePostBackEvent()` event to call right server side event handler. I understand how `doPostBack()` works and how server side event handler is called.

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?