Latest web development tutorials

ASP.NET ViewState

Al mantener el objeto en su formulario web en ViewState (Ver estado), se puede ahorrar una gran cantidad de codificación.


Mantener ViewState (Ver estado)

En ASP clásico, cuando se envía un formulario, todos los valores del formulario se borran. Supongamos que usted envía un formulario con una gran cantidad de información, y el servidor devuelve un error. Usted tiene que regresar a las correcciones de forma. Hace clic en el botón Atrás y, a continuación, lo que sucedió ...... todos los valores del formulario se borran, usted tiene que comenzar todo! El sitio no mantiene su ViewState.

ASP .NET en, cuando se envía un formulario, el formulario junto con los valores del formulario aparecen juntos en la ventana del navegador. ¿Cómo hacerlo? Esto se debe a ASP .NET mantiene su ViewState. ViewState se envía al servidor cuando la página indican su estado. Este estado es a través de cada página con un <form runat = "server"> controlar la colocación de una definición de campo oculto. El código fuente es el siguiente:

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

.....some code

</form>

El mantenimiento de la ViewState es la configuración predeterminada para ASP.NET Web Forms. Si no desea mantener el ViewState, en la parte superior de la página .aspx que contiene instrucciones <% @ Page% EnableViewState = "true">, o añadir propiedades EnableViewState = "false" a ningún control.

Mira el siguiente archivo .aspx. Esto demuestra el modo de funcionamiento "viejo". Al hacer clic en el botón de envío, el valor desaparecerá forma:

Ejemplos

<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 demostración >>

Aquí está el nuevo modo ASP .NET. Al hacer clic en el botón de envío, el valor de forma no va a desaparecer:

Ejemplos

Haga clic en el ejemplo del cuadro de la derecha para ver el código fuente, verá el ASP .NET ha añadido un campo oculto en la forma de mantener el 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 demostración >>