去除前台生成隐藏的的VIEWSTATE,不会影响机能,使得页面提交更快。

用后台代码来控制前台生成的VIEWSTATE,一般你的页面中数据量大,在页面前台生成一个VIEWSTATE就很大,例如:<input type="hidden" name="__VIEWSTATE" value="dasfasfkadusfiwe hfihlasdjfkdlashfjklhasdjfklhasdlkdfjasklhfkladhklhasdfhiuwefyworywuiryuqrq" />

那么你在提交的时候就很慢,如果在后台取读就好了,下面的方法就是,把前台生成的隐藏VIEWSATE消除,只是在后台保存,以下我是用SESSION保存的,当然SESSION有它自己的缺点,我就不说了,下面的方法只是一个参考.

如果.NET版本是1.0的话,你在前台要自己加<input type="hidden" name="__VIEWSTATE" value="" />,高版本的话,就用不着了.

HTML:

<HTML>
 <HEAD>
  <title>WebForm5</title>
  <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="
http://schemas.microsoft.com/intellisense/ie5">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <input type =hidden name="hideViewstateID" value="<%=h%>">
   <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 35px; POSITION: absolute; TOP: 90px" runat="server"
    Text="Button"></asp:Button>
  </form>
 </body>
</HTML>

.VB:

  Public h As String

    Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object
        Dim str As String
        str = Request.Form("hideViewstateID") & ""
        Return Session(h)
    End Function

    Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
        If Not IsPostBack Then
            h = Format(Now, "yyyyMMddff")
        End If
        Session(h) = viewState
    End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值