ASP.NET est sans état. Autrement dit, à chaque fois qu'une page est demandée, le serveur construit réellement la page entière et contrôle son état & puis répond à la demande. Il restitue ensuite le balisage HTML approprié en réponse à la demande.
Pour tout contrôle, si la propriété autopostback est définie sur true, une page est postback sur le serveur si le contrôle provoque une publication (par exemple, en cliquant sur un bouton de lien).
Comment ASP.NET publie-t-il la page? Il le fait en utilisant une fonction javascript appelée _doPostBack(). La fonction est -
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
Cette fonction permet de renvoyer le formulaire au serveur. _doPostBack accepte les arguments - les événements de cible et d'événement en utilisant les variables cachées __EVENTTARGET et __EVENTARGUMENT. Cela indique au serveur quel contrôle a provoqué la publication et transmet également les arguments appropriés au serveur.
si vous avez ce code dans votre page ASPX -
Le balisage généré correspondant sera -
<a id="LinkButton1" href="javascript:__doPostBack('lnkButton','')">LinkButton</a>
Alors, que vous cliquez sur un bouton de lien, la page est postback par la fonction __doPostBack(). Ensuite, la page est recréée au serveur avec l'état de contrôle respectif sur la page. Pour obtenir l'état de chaque contrôle sur la page, des mécanismes tels que viewstate sont utilisés. Une fois la page chargée, le serveur calcule et restitue le balisage de réponse.