2010-05-14 3 views
0

몇 가지 컨트롤이 있습니다. 내가하는 OnInit 이벤트의 모든 페이지에이 컨트롤의 인스턴스를 추가하고 나는이 방법으로 다른 장소에서이 컨트롤에 액세스하려면 : Sample.CurrentASP.NET 컨트롤에 'Current'속성을 추가하십시오.

public class Sample : Control 
{ 
    public static Sample Current 
    { 
     get 
     { 
      // ??? 
     } 
    } 
} 

당신이 할 수있는 최선의 방법이 무엇인지 말해 줄 수 이 속성 구현?

답변

0

좀 더 자세히 설명하는 것이 좋을 것입니다.이 클래스의 목적은 무엇입니까? 하지만 어쨌든 도와 드리겠습니다.

코드에서 참조되고 런타임에 어떻게 든 동적으로 추가되지 않으면 페이지의 코드 내에서 해당 컨트롤에 액세스 할 수 있습니다. 그런 다음 나중에 코드에서 ctrl.Current를 사용하여 참조 할 수 있습니다

Sample ctrl = new Sample(); 

: 그것은 경우 즉, 페이지의 변수처럼 선언했다.

FYI - 페이지 라이프 사이클에 대한 클래스 및 변수를 참조 할 위치를 원할 경우 HttpContext.Current.Items를 확인하십시오. http://www.mikeduncan.com/3-hot-uses-for-httpcontextcurrentitems-they-wont-tell-you-about/ 단일 페이지 요청에 대해서만 존재하는 세션 백과 비슷합니다. 예 : if 페이지의 여러 컨트롤에서 여러 번 액세스해야하는 사용자에 대한 정보를 보유하고있는 클래스가 있으면 클래스를 Items 컬렉션에 연결 한 다음 페이지에서 실행되는 모든 코드에서 참조 할 수 있습니다.

HTH,
랜스

관련 문제