Improve performance with the EnableViewState property

All Web Forms controls, and the page itself, expose the EnableViewState property, a boolean that says whether the current value of the control must be saved in the __VIEWSTATE hidden field and restored during a page postback.

By default this property is True, which means that a field’s value is automatically preserved between postback. This makes a Web Forms behave more similarly to a windows forms. In some cases, however, you can set this property to False and reduce the number of bytes sent along the wire. A good candidate for this arrangement are password fields, which should be cleared any time the form is sent back to the client.

Another case where you may want to set this property to False is when you are building a databound DataGrid. Typically you bind a DataGrid with this code in the Page_Load event handler:

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles _    MyBase.Load    If Not Me.IsPostBack() Then        ' Create the DataReader        Dim cn As New OleDbConnection("my connection string")        Dim cmd As New OleDbCommand("SELECT * FROM MyTable", cn)        Dim dr As OleDbDataReader = cmd.ExecuteReader()        ' Bind it to the DataGrid        DataGrid1.DataSource = dr        DataGrid1.DataBind()        ' close the DataReader and the Connection        dr.Close        cn.Clone    End IfEnd Sub

The above code queries the database only once, and then restores the contents of the DataGrid from the __VIEWSTATE field, which means that a lot of data is sent to the client. In some cases you may find that rebinding the DataGrid at each page request might make your application more scalable (also because odds are that the data coming from the query are already in the database’s cache):

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles _    MyBase.Load    ' Create the DataReader    Dim cn As New OleDbConnection("my connection string")    Dim cmd As New OleDbCommand("SELECT * FROM MyTable", cn)    Dim dr As OleDbDataReader = cmd.ExecuteReader()    ' Bind it to the DataGrid    DataGrid1.DataSource = dr    DataGrid1.DataBind()    ' close the DataReader and the Connection    dr.Close    cn.CloneEnd Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS