Asp.Net использует функцию JavaScript __doPostback, называемую _doPostBack (). Функция -
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
Эта функция используется для отправки формы обратно на сервер. _doPostBack принимает аргументы - цель цели и аргументы события, используя скрытые переменные __EVENTTARGET
и __EVENTARGUMENT
. Он сообщает серверу, какой элемент управления вызвал обратную передачу, а также передает соответствующие аргументы серверу.
если у вас есть этот код на странице aspx -
<asp:LinkButton ID="lnkButton" runat="server">LinkButton</asp:LinkButton>
Соответствующая сгенерированная разметка будет -
<a id="LinkButton1" href="javascript:__doPostBack('lnkButton','')">LinkButton</a>
Итак, скажем, вы нажимаете на кнопку ссылки, страница отправляется обратно функцией __doPostBack()
. Затем страница воссоздается на сервере с соответствующим состоянием элемента управления на странице. Чтобы получить состояние каждого элемента управления на странице, используются такие механизмы, как viewstate. После загрузки страницы сервер вычисляет и отображает разметку ответа.