En son web geliştirme öğreticiler
 

ASP.NET Web Formları - ViewState bakımı


Eğer Web Formunda nesnelerin ViewState koruyarak kodlama tasarrufu olabilir.


ViewState bakımı

Bir form klasik ASP gönderildiğinde, tüm form değerleri silinir. Diyelim ki pek çok bilgi ile bir form göndermiş ve sunucu geri bir hata ile gelir. Geri forma gidip bilgileri düzeltmek zorunda kalacaktır. Sen geri düğmesini tıklayın ve ne olduğunu ....... TÜM form değerleri CLEARED edilir ve her şeye yeniden başlamak zorunda olacak! site ViewState korumak vermedi.

Bir form ASP .NET gönderildiğinde, formu tüm form değerleri ile birlikte tarayıcı penceresinde yeniden görünür. Nasıl olur? ASP .NET sizin ViewState tutar olmasıdır. Sunucuya gönderilen zaman ViewState sayfanın durumunu belirtir. durumu <form runat = "server"> kontrol ile her sayfasına yerleştirilen gizli alan aracılığıyla tanımlanır. kaynak şöyle görünebilir:

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

.....some code

</form>

ViewState bakımı ASP.NET Web Forms için varsayılan ayardır. Eğer ViewState korumak DEĞİL istiyorsanız, bir .aspx sayfasının üst kısmında yönergeyi <% @ Page EnableViewState = "false" %> içeren ya da herhangi kontrole niteliğini EnableViewState = "false" ekleyin.

Aşağıdaki .aspx dosyası bak. Bu gösteriyor "old" bunu yapmak için bir yol. Gönderdiğiniz butonuna tıkladığınızda, formu değeri kaybolur:

Örnek

<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>
»Örnek göster

İşte yeni ASP .NET yoludur. Gönderdiğiniz butonuna tıkladığınızda, formu değeri kaybolur DEĞİL olacaktır:

Örnek

ASP .NET ViewState korumak için formda gizli bir alan ilave ettiğini görmek için örnek sağ çerçevesinde görünüm kaynağını tıklayın

<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>
»Örnek göster