Содержимое, отправленное с запросом, который создается, например, при нажатии кнопки, содержит имя элемента управления, вызвавшего событие. Далее я использовал инструмент чтения заголовков HTTP, который показывает информацию, отправленную в запросе HTTP, и проверил отправленные запросы, нажав две кнопки в веб-форме. Каждый запрос имеет различное значение, установленное для Button = в данных публикации под контентом.
http://localhost:1182/Pages/NewFolder1/WebForm1.aspx
POST /Pages/NewFolder1/WebForm1.aspx HTTP/1.1
Host: localhost:1182
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 548
__VIEWSTATE=viewstateblahblah&__EVENTVALIDATION=eventblahblah&**Button2=Button**
[..omitted parts for brevity..]
----------------------------------------------------------
http://localhost:1182/Pages/NewFolder1/WebForm1.aspx
POST /Pages/NewFolder1/WebForm1.aspx HTTP/1.1
Host: localhost:1182
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 548
__VIEWSTATE=blah blah state&__EVENTVALIDATION=viewstateblahblah&**Button1=Button**
[..omitted parts for brevity..]
----------------------------------------------------------
Обновление: Чтобы дополнить мой ответ, рассмотрите следующее содержимое, которое публикуется на сервере, когда два события отправляются на сервер одновременно (например, Button.Click and
ComboBox.SelectedIndexChanged).
_ VIEWSTATE = просмотр состояния зашифрованного бла-бла & _EVENTVALIDATION = проверка события зашифрованного бла-бла & DropDownList1 = Three & Button1 = Button
Таким образом, форма построена таким образом, что информация о событии добавляется в HTTP-запрос, отправляемый на сервер. Параметры содержат имена элементов управления, вызвавших событие, и я думаю, что все это зашифровано в параметре __EVENTVALIDATION, который гарантирует, что в событиях, которые были вызваны, и в элементах управления, которые их вызвали, не было никакого вмешательства. Это как хэш информации о событии.