ViewState初识

来源:互联网 发布:nginx二级域名跳转 编辑:程序博客网 时间:2024/05/29 03:41

 ViewState是为了让整个web高效,运行更快。当form提交后,整个page中的控件的信息报存在form的viewstate中。(viewstate是自动创建的。)

page提交后。如果EnableViewState=false则所有控件的重新创建(?我的理解。也就是全部初始化。但是页面此时的IsPostBack=true)

有一个相当好的例子,很直观的看到viewstate的作用。

<Script runat="server">
Sub Page_Load
    
If not IsPostBack Then
       Button1.Text
="Hello"
     
End If
End Sub

        
</Script>
<HTML>
    
<HEAD>
        
<title>ViewState</title>

    
</HEAD>
    
<body>
        
<form runat="server">
            
<asp:Label  ID="lblMessage" Runat="server" Text="123" EnableViewState="false" />            <br>
            
<asp:Button Runat="server" id="Button1" Text="submit" />
        
</form>
    
</body>
</HTML>

运行结果:

第一次 Label显示结果为:Hello   (page_load的结果)

第二次Label显示结果为:123(viewstate被禁用的结果)如果Label中的EnableViewState属性为True.则Label

结果依然是Hello.

由此可以看出ViewState的作用是:在两次页面提交之间保存各个控件的值,在需要时调用 出。而如果服务器返回改变

了控件值,以返回的

为准。否则,以ViewState为准。如ViewState被禁用,则重新加载控件各个属性。

PS:如果yong vs.net请吧<script>中代码放到页面后台的aspx.vb中的page_load

好像是以后台的为准

我也是初学者。汗……………………