Latest web development tutorials

ASP.NET ViewState

Ao manter o objeto em seu formulário da Web no ViewState (Ver Estado), você pode salvar um monte de codificação.


Manter ViewState (Estado View)

Em ASP clássico, quando um formulário é enviado, todos os valores do formulário são apagadas. Suponha que você enviar um formulário com um monte de informações, eo servidor retorna um erro. Você tem que voltar para as correções de formulário. Você clica no botão Voltar e, em seguida, o que aconteceu ...... todos os valores do formulário são limpas, você tem que começar tudo! Site não manter o seu ViewState.

ASP .NET em, quando um formulário é enviado, o formulário juntamente com os valores do formulário aparecem juntos na janela do navegador. Como fazê-lo? Isso ocorre porque ASP .NET mantém seu ViewState. ViewState será enviada para o servidor quando a página indicam seu status. Este estado é através de cada página com um <form runat = "server"> controlar o posicionamento de uma definição campo oculto. O código-fonte é a seguinte:

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

.....some code

</form>

Mantendo o ViewState é a configuração padrão para o ASP.NET Web Forms. Se você não quiser manter a ViewState, na parte superior da página .aspx que contém instruções <% @ Page EnableViewState = "false"%>, ou adicionar propriedades EnableViewState = "false" a qualquer controle.

Olhe para o arquivo.aspx seguinte. Ele demonstra o modo de operação "velho". Quando você clica no botão de envio, o valor forma irá desaparecer:

Exemplos

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

A demonstração >>

Aqui é a nova maneira ASP .NET. Quando você clica no botão de envio, o valor forma não vai desaparecer:

Exemplos

Clique no exemplo do quadro da direita para visualizar o código-fonte, você vai ver o ASP .NET adicionou um campo oculto sob a forma de manter o 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>

A demonstração >>