Grid controls act as containers for a lot of controls. Each control stores a lot of information in the ViewState.
The ViewState by default is stored in a hidden control. This means that it is sent to the client on every page request. To avoid this overhead, you can set the EnableViewState to false.
<asp:GridView ID="GridView1" runat="server" EnableViewState="false">
ViewState and PostBack are two totally unrelated entities. ViewState stores any information that a control wants to retain. A PostBack only refers to a user sending information back to the page.
However ViewState is also very useful to remember values entered by a user on the last PostBack. If your ViewState is very large, and you don't want to send it to the user, consider saving it in the Session. You can do this by setting the PageStatePersister to SessionPageStatePersister
The SessionPageStatePersister utilizes server sessions associated with
the browser session to store the data. Using session instead of a
hidden field avoids an increase in the page size being sent to and
from the browser. In many situations, the page state is a significant
part of the overall markup. However, storing this data in session
consumes valuable server resources.
.aspxfile? - user1429080