Latest web development tutorials

ASP.NET ViewState

En maintenant l'objet dans votre formulaire Web dans ViewState (état d'affichage), vous pouvez économiser beaucoup de codage.


Maintenir ViewState (Voir État)

Dans ASP classique, quand un formulaire est soumis, toutes les valeurs du formulaire sont effacées. Supposons que vous soumettez un formulaire avec un grand nombre d'informations, et le serveur renvoie une erreur. Vous devez revenir aux corrections de forme. Vous cliquez sur le bouton Retour, puis ce qui est arrivé ...... toutes les valeurs du formulaire sont défrichées, vous devez commencer à tout! Site ne conserve pas votre ViewState.

ASP .NET dans, quand un formulaire est soumis, la forme ainsi que les valeurs de forme apparaissent ensemble dans la fenêtre du navigateur. Comment le faire? En effet, ASP .NET maintient votre ViewState. ViewState sera soumis au serveur lorsque la page indique son statut. Cet état est à travers sur chaque page avec une balise <form runat = "server"> contrôler le placement d'une définition de champ caché. Le code source est la suivante:

<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />

.....some code

</form>

Le maintien de la ViewState est le paramètre par défaut pour ASP.NET Web Forms. Si vous ne voulez pas maintenir le ViewState, en haut de la page .aspx qui contient des instructions <% @ Page EnableViewState =% "false">, ou ajouter des propriétés EnableViewState = "false" à tout contrôle.

Regardez le fichier .aspx suivant. Il démontre le "vieux" mode de fonctionnement. Lorsque vous cliquez sur le bouton d'envoi, la valeur de la forme va disparaître:

Exemples

<html>
<body>

<form action="demo_classicasp.aspx" method="post">
Your name: <input type="text" name="fname" size="20">
<input type="submit" value="Submit">
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!")
End If
%>

</body>
</html>

La démonstration >>

Voici la nouvelle façon ASP .NET. Lorsque vous cliquez sur le bouton d'envoi, la valeur de la forme ne disparaîtra pas:

Exemples

Cliquez sur l'exemple du cadre de droite pour afficher le code source, vous verrez l'ASP .NET a ajouté un champ caché sous la forme de maintenir le ViewState.

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>

<html>
<body>

<form runat="server">
Your name: <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

La démonstration >>