ASP.NET не имеет состояния.То есть каждый раз, когда запрашивается страница, сервер фактически создает всю страницу и ее элементы управления и состояние, а затем отвечает на запрос.Затем он отображает соответствующую разметку HTML в качестве ответа на запрос.
Для любого элемента управления, если для свойства autopostback установлено значение true, страница отправляется обратно на сервер, если элемент управления вызывает обратную передачу (например, нажавкнопка ссылки).
Как ASP.NET отправляет страницу обратно?Это делается с помощью функции JavaScript, называемой _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.После загрузки страницы сервер вычисляет и отображает разметку ответа.