ASP.NET - ά³Ö ViewState

ͨ¹ýÔÚ Web ±íµ¥ÖÐά³Ö¶ÔÏóµÄ ViewState £¨ÊÓͼ״̬£©£¬Äú¿ÉÒÔʡȥ´óÁ¿µÄ±àÂ빤×÷¡£

ά³Ö ViewState £¨ÊÓͼ״̬£©

µ± classic ASP ÖÐµÄ±íµ¥±»Ìύʱ£¬ËùÓÐµÄ±íµ¥Öµ¶¼»á±»Çå¿Õ¡£ÉèÏëһϣ¬ÄúÌá½»ÁËÒ»ÕÅ´øÓдóÁ¿ÐÅÏ¢µÄ±íµ¥£¬¶ø·þÎñÆ÷·µ»ØÁËÒ»¸ö´íÎó¡£Äú½«²»µÃ²»·µ»Ø±íµ¥£¬È»ºó¸üÕýÆäÖеÄÐÅÏ¢¡£Äúµã»÷ºóÍ˰´Å¥£¬È»ºó»á·¢ÉúÊ²Ã´ÄØ... ËùÓÐµÄ±íµ¥Öµ¶¼±»Çå¿ÕÁË£¬¶øÄú½«²»µÃ²»ÖØÐ¿ªÊ¼ËùÓеÄÒ»ÇС£Õ¾µã²»»áά³ÖÄúµÄ ViewState¡£

µ± ASP .NET ÖÐµÄ±íµ¥±»Ìύʱ£¬±íµ¥»áËæËùÓÐ±íµ¥ÖµÒ»Í¬ÖØÐ³öÏÖ¡£ÈçºÎ×öµ½µÄÄØ£¿ÕâÊÇÓÉÓÚ ASP .NET ά³ÖÁËÄúµÄ ViewState¡£ViewState »áÔÚÒ³Ãæ±»Ìá½»µ½·þÎñÆ÷ʱָʾÆä״̬¡£Í¨¹ýÔÚÿÕÅÒ³ÃæÖеÄÒ»¸ö <form runat="server"> ¿Ø¼þÖзÅÖÃÒ»¸öÒþ²ØÓò£¬ÎÒÃǾͿÉÒÔ¶¨ÒåÒ³ÃæµÄ״̬ÁË¡£Ô´´úÂë¿ÉÄÜÀàËÆÕâÑù£º

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

.....some code

</form>

ά³Ö ViewState ÊÇ ASP.NET Web ±íµ¥µÄĬÈÏÉèÖá£Èç¹ûÄú²»Ï£Íûά³Ö ViewState£¬ÇëÔÚ .aspx Ò³ÃæµÄ¶¥²¿°üº¬Ö¸Á <%@ Page EnableViewState="false" %>£¬»òΪÈÎÒâ¿Ø¼þÌí¼ÓÊôÐÔ£ºEnableViewState="false"¡£

Çë¿´ÏÂÃæµÄ .aspx Îļþ¡£ËüÑÝʾÁËÀϵÄÔËÐз½Ê½¡£µ±Äúµ¥»÷Ìá½»°´Å¥Ê±£¬±íµ¥Öµ¾Í»áÏûʧ£º

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

ÏÔʾÕâ¸öÀý×Ó

ÕâÊÇÐ嵀 ASP .NET ·½Ê½¡£µ±Äúµã»÷Ìá½»°´Å¥Ê±£¬±íµ¥Öµ²»»áÏûʧ£º

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

ÏÔʾÕâ¸öÀý×Ó £¨ÇëÔÚÓұߵĿò¼ÜÖеã»÷¡°²é¿´Ô­Îĵµ¡±£¬Äú¿ÉÒÔ¿´µ½ ASP .NET ÒѾ­Ïò±íµ¥ÖÐÌí¼ÓÁËÒ»¸öÒþ²ØÓò£¬ÕâÑù¾Í¿ÉÒÔά³Ö ViewState¡££©