Tutorial Halama...login
Tutorial Halaman Web
pengarang:php.cn  masa kemas kini:2022-04-11 14:20:28

ViewState Borang Web


Borang Web ASP.NET - Mengekalkan ViewState


Dengan mengekalkan ViewState objek dalam Borang Web anda, anda boleh Simpan banyak kerja pengekodan.


Mengekalkan ViewState

Dalam ASP klasik, apabila borang diserahkan, semua nilai borang akan dikosongkan. Katakan anda menyerahkan borang dengan banyak maklumat dan pelayan mengembalikan ralat. Anda perlu kembali ke borang untuk membetulkan maklumat. Anda menekan butang kembali dan apa yang berlaku...semua nilai borang telah dikosongkan dan anda perlu memulakan semuanya sekali lagi! Tapak ini tidak mengekalkan ViewState anda.

Dalam ASP .NET, apabila borang diserahkan, borang itu muncul dalam tetingkap penyemak imbas bersama-sama dengan nilai borang. Bagaimana? Ini kerana ASP .NET mengekalkan ViewState anda. ViewState menunjukkan keadaan halaman apabila ia diserahkan kepada pelayan. Keadaan ini ditakrifkan dengan meletakkan medan tersembunyi pada setiap halaman dengan kawalan <form runat="server"> Kod sumber adalah seperti berikut:

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

.....beberapa kod

<🎜><🎜><
Mengekalkan ViewState ialah tetapan lalai untuk Borang Web ASP.NET. Jika anda tidak mahu mengekalkan ViewState, masukkan arahan <%@ Page EnableViewState="false" %> di bahagian atas halaman .aspx atau tambahkan sifat EnableViewState="false" pada sebarang kawalan.

Sila lihat fail .aspx di bawah. Ia menunjukkan cara operasi "lama". Apabila anda mengklik butang hantar, nilai borang akan hilang:

Instance

<!DOCTYPE html>
<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>

Run Instance» Klik butang "Jalankan" Contoh" untuk melihat contoh dalam talian

Berikut ialah kaedah ASP .NET baharu. Apabila anda mengklik butang hantar, nilai borang tidak akan hilang:

Klik Lihat Kod Sumber dalam bingkai kanan contoh dan anda akan melihat bahawa ASP .NET telah menambah medan tersembunyi pada borang untuk mengekalkan ViewState.

Instance

<script  runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>

<!DOCTYPE html>
<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>

Run Instance»Klik butang "Run Instance" untuk melihat contoh dalam talian