Latest web development tutorials

ASP.NET ViewState

Poprzez utrzymanie obiektu w formularzu sieci Web w ViewState (Zobacz State), można zaoszczędzić sporo kodowania.


Utrzymanie ViewState (Zobacz State)

W klasycznym ASP, gdy formularz jest składany, wszystkie wartości formularza są wyczyszczone. Załóżmy, złożyć formularz z wielu informacji, a serwer zwraca błąd. Trzeba wrócić do korekty formularza. Kliknięcie przycisku Wstecz, a następnie, co się stało ...... wszystkie wartości formularza są wyczyszczone, trzeba zacząć wszystko! Strona nie utrzymać ViewState.

ASP .NET w, gdy formularz jest składany, formularz wraz z wartościami tworzą razem pojawiają się w oknie przeglądarki. Jak to zrobić? To dlatego, ASP .NET utrzymuje swoją ViewState. ViewState zostaną przekazane do serwera, gdy strona wskazuje jego status. Ten stan jest poprzez na każdej stronie z <form runat = "server"> Kontrola umieszczanie ukrytych definicji pola. Kod źródłowy jest w następujący sposób:

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

.....some code

</form>

Jest to ustawienie domyślne dla ASP.NET Web Forms Utrzymanie ViewState. Jeśli nie chcesz, aby utrzymać ViewState, w górnej części strony .aspx, która zawiera instrukcje <% @ Page EnableViewState = "false"%> lub dodać właściwości EnableViewState = "false" żadnej kontroli.

Spójrz na poniższy plik .aspx. To świadczy o "starej" tryb pracy. Po kliknięciu na przycisk złożenia wartość forma zniknie:

Przykłady

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

Demonstracja >>

Oto nowa ASP .NET sposobem. Po kliknięciu na przycisk złożenia wartość forma nie zniknie:

Przykłady

Kliknij na przykładzie prawej ramce wyświetlić kod źródłowy, widać ASP .NET dodał ukrytego pola formularza, aby utrzymać 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>

Demonstracja >>