그리드 컨트롤은 많은 컨트롤의 컨테이너 역할을합니다. 각 컨트롤은 많은 정보를 ViewState에 저장합니다.
기본적으로 ViewState는 숨겨진 컨트롤에 저장됩니다. 즉, 모든 페이지 요청시 클라이언트에 전송됩니다. 이 오버 헤드를 피하려면 EnableViewState를 false로 설정할 수 있습니다.
<asp:GridView ID="GridView1" runat="server" EnableViewState="false">
ViewState와 PostBack은 완전히 관련이없는 두 개의 엔티티입니다. ViewState는 컨트롤에서 유지하려고하는 모든 정보를 저장합니다. 포스트 백은 정보를 페이지로 다시 보내는 사용자를 나타냅니다.
그러나 ViewState는 마지막 PostBack에서 사용자가 입력 한 값을 기억하는 데 매우 유용합니다. ViewState가 매우 크고 사용자에게 보내지 않으려면 Session에 저장하는 것이 좋습니다. 당신은 SessionPageStatePersister는 데이터를 저장하는 브라우저 세션과 관련된 서버 세션을 사용 SessionPageStatePersister
에 PageStatePersister을 설정하여이 작업을 수행 할 수 있습니다. 숨김 필드 대신 세션을 사용하면 페이지 크기가 증가하고 브라우저에서 이 증가하지 않습니다. 대부분의 경우 페이지 상태는 전체 마크 업의 상당 부분 인 입니다. 그러나이 데이터를 세션 에 저장하면 소중한 서버 리소스가 낭비됩니다.
이것은'.aspx' 파일에 설정되어 있다고 가정합니다. – user1429080