2012-03-28 2 views
0

SQL Server에 ViewState을 저장하는 클래스가 있습니다 (Adam Weigert에게 감사드립니다). 그것은 내 웹 페이지에서 작동하는 것처럼 보이지만 페이지 내의 사용자 컨트롤은 ViewState을 저장하지 않습니다. Adam에서 얻은 코드는 System.Web.UI.Page 아래에 기본 클래스를 삽입합니다. 나는 사용자 컨트롤이 코드를 불 수 있도록 나 또한 System.Web.UI.UserControl에서 상속이 코드를 필요가 있다고 생각하지만, VS 2010는 말한다 :클래스가 System.Web.UI.Page 및 System.Web.UI.UserControl에서 상속받을 수 있습니까?

클래스 'SqlViewStatePage'여러 개의 기본 클래스를 가질 수 없습니다 : 를 'System.Web.UI .Page '와'System.Web.UI.UserControl '

내 웹 페이지의 모든 지금 SqlViewStatePage에서 상속 BaseWebPage에서 상속합니다. 모든 사용자 컨트롤은 SqlViewStatePage에서 상속 받고 싶은 BaseUserControl에서 상속 받지만 작동하지 않습니다.

어떻게 해낼 수 있습니까?

+0

당신은 SqlViewStateUserControl을 만드는 시도하고 'SqlViewStatePage'에서와 유사한 기능을 구현할 수 있습니다. 재정의 할 수있는 방법은 약간 다릅니다. –

+0

이 문서가 유용할까요? http://weblogs.asp.net/adweigert/archive/2004/03/09/sqlviewstate-the-path-to-better-viewstate-storage.aspx? –

답변

2

"Stores ViewState in SQL Server"에 대한 논리를 새로운 .cs 클래스로 옮깁니다. 컨트롤 및 페이지에서이 클래스에 액세스하십시오.

Google 아키텍처에는 3 개의 파일이 있습니다.

  1. 자료 페이지 -이 파일은 System.Web.UI.Page를 상속합니다. 또한 우리는 aspx 페이지에서 Base Page를 상속받습니다.

  2. 기본 컨트롤 -이 파일은 System.Web.UI.UserControl을 상속합니다. 또한 사용자 정의 컨트롤에서 기본 페이지를 상속받습니다.

  3. 기본 클래스은 - 당신이를 구축 할 수 있도록 닷넷에서 우리는 다중 상속을 사용할 수 없습니다

0

우리는 공통 기능 정적/비 정적 데이터 회원/회원 함수를 작성 UserControl 및 Page에서 동시에 상속하는 클래스

나는 SqlViewStateUserControl 에 대해 조금 읽고는이 닷넷 1.0 및 1.1에 대한 해결책이었다 보인다. VS 2010을 사용하고 있다면 PageStatePersister 클래스의 이점을 누릴 수 있습니다. 이 클래스를 상속 받아 viewstate를 데이터베이스에 저장하도록 구현합니다 (이 메커니즘은 .Net 2.0에서 도입되었으므로 많은 구현을 찾을 것입니다).

0

귀하의 질문에 직접적으로 답변하지는 않았지만 몇 년 전 SaveedStateToPersistenceMedium 및 LoadPageStateFromPersistenceMedium을 오버라이드하여 연수를 빌린 회사의 대규모 프로젝트에서 작업했습니다. 이 기술은 특히 asp.net AJAX 라이브러리를 사용할 때 문제가 많았으며 궁극적으로이 기술을 포기했습니다. 부분 포스트 백이 ViewState를 복원하지 못했습니다.

그래서 ViewState를 SQL에 저장하는 이유/방법 인 경우이를 극복해야 할 문제가있을 수 있습니다.

Saving Viewstate on Server

관련 문제