2011-09-15 3 views
2

저는 기존 ASP.Net 2.0 웹 폼 응용 프로그램을 유지 관리하고 있습니다. 질문을 복잡하게 만들지 않도록 자세한 내용을 예비하겠습니다. 난 그냥 누군가가 효율적으로 전체 viewstate를 복원하는 방법을 알고 있는지 물어보고 싶다. 필요하다면 더 자세한 정보를 제공 할 수 있지만 일반적인 것을 기대하고 있습니다. Page.LoadPageStateFromPersistenceMedium()을 사용할 수 있기를 희망했지만 보호 된 메서드 인 것으로 보입니다. MSDN에 대한 일부 읽기는 PageStatePersister 클래스에서 상속받은 사용자 정의 클래스를 사용하여 전체 상태를 복원하는 메서드를 사용해야 함을 나타냅니다. 좀 더 숙련 된 개발자의 의견을 듣고 싶었습니다. 감사.asp.net 2.0 전체 viewstate 복원

답변

1

여러 접근법이 있습니다. 이전에는 .NET 2에서 한 번 사용했고 잘 작동했습니다.

의 Web.config :

<configuration> 
    <system.web> 
    <pages pageBaseType="PagePersisterBasePage" /> 
    </system.web> 
</configuration> 

페이지 :

public class PagePersisterBasePage : Page 
{ 
    public PagePersisterBasePage() { 
    } 
    protected override PageStatePersister PageStatePersister { 
     get { 
      return new SessionPageStatePersister(this); 
     } 
    } 
} 

단지 예로서, 전체 기사, 모두를 읽을 가치를 위해, 여기 : ASP.NET 2.0 Page State Persister

+0

+1 좋은 물건 .. –

+0

감사합니다. Davide,이 제품은 유망 해 보입니다. 지금 구현 중입니다. 업데이트를 게시합니다. – kingrichard2005

0
여기

좋은 기사 : http://www.codeproject.com/Articles/7655/Persisting-the-state-of-a-web-page

이렇게하면 ViewState는 모든 컨트롤을 재설정하고 request.form() 복원에 대해 이야기합니다.

+0

autopostback 속성이 true로 설정된 체크 상자에 문제가 있습니다. 사용자가 해당 checked 이벤트를 처리하고 아직로드되지 않은 페이지의 다른 항목에 의존하는 경우 체크 상자가 너무 빠르기 때문에 잘못된 참조가 발생합니다 ... 해결 방법은 다음과 같아야합니다. 확인란의 체크 이벤트가 LoadPost 데이터에서 실행되지 않도록해야합니다. 나를 도와 줄 수 있습니까? – Lluthus