Latest web development tutorials

ASP.NET Viewstate

Durch die Aufrechterhaltung des Objekts in Ihrem Web-Formular in Viewstate (View State), können Sie eine Menge Codierung speichern.


Pflegen Sie Viewstate (View State)

Im klassischen ASP, wenn ein Formular abgeschickt wird, werden alle Formularwerte gelöscht. Angenommen, Sie ein Formular mit einer Menge von Informationen vorzulegen, und der Server einen Fehler zurück. Sie müssen die Form Korrekturen zurückzukehren. Sie klicken auf die Schaltfläche Zurück, und dann, was passiert ...... alle Formularwerte gelöscht sind, haben Sie alles zu starten! Website pflegen nicht Ihren Viewstate.

ASP .NET in, wenn ein Formular abgeschickt wird, erscheint das Formular zusammen mit den Formularwerte zusammen im Browser-Fenster. Wie es zu tun? Dies liegt daran, ASP .NET Ihre Viewstate verwaltet. Viewstate wird an den Server gesendet werden, wenn die Seite seinen Status anzuzeigen. Dieser Zustand ist auf jeder Seite mit einem <form runat = "server"> durch Steuerung der Platzierung einer versteckten Felddefinition. Der Quellcode ist wie folgt:

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

.....some code

</form>

Viewstate Pflege ist die Standardeinstellung für ASP.NET Web Forms. Wenn Sie möchten, dass das Viewstate nicht halten, an der Spitze der ASPX-Seite, auf der Anweisungen enthält <% @ Page EnableViewState = "false"%> oder Eigenschaften hinzufügen EnableViewState = "false" auf jede Kontrolle.

Schauen Sie sich die folgenden ASPX-Datei. Es zeigt die "alten" Betriebsmodus. Wenn Sie auf den Absenden-Button klicken, wird das Formular Wert verschwinden:

Beispiele

<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>

Die Demonstration >>

Hier ist die neue ASP .NET Weg. Wenn Sie auf den Absenden-Button klicken, wird das Formular Wert nicht verschwinden:

Beispiele

Klicken Sie auf das Beispiel des rechten Rahmens, den Quellcode zu sehen, werden Sie die ASP .NET sehen ein verstecktes Feld in Form der Viewstate zu halten hinzugefügt.

<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>

Die Demonstration >>