2012-03-18 2 views
0

페이지에 추가 된 사용자 컨트롤의 수를 기록하는 정적 정수가 있습니다.카운터에 동적으로 페이지에 사용자 컨트롤이 추가되었습니다.

static int mycount = 1; //Default value 

내가 괜찮

static int mycount = 2; //Add second control 

일하고, 카운터가 +1을 가져옵니다 페이지에 더 많은 컨트롤을 추가 할 때하지만 다른 브라우저에서 페이지의 다른 인스턴스를 열 경우 카운터가 여전히이 반 환 = 2

새 브라우저 세션을 열면 static int의 기본값은 1이됩니다.

세션으로 작업해야합니까, 아니면 무엇이 필요합니까?

// UPDATE

내가 SO

How to access session variables from any class in ASP.NET?

여기에 해답을 발견 한 후 나는 세션을 사용 확실히,

+0

C 번호 = ASP 클래식 – SLaks

+0

로 변경 –

답변

0

정적으로 메모리에 저장되어 잠시 동안 머물러 있기 때문에 절대 정적이 아닌 것을 사용하는 것이 좋습니다. 세션 변수는 일반적으로 특정 사용자에 따라 달라 지므로 모든 세션에 저장됩니다. 변수는 사용자에게 고유 한 반면 정적 변수는 고유하게 만들기가 어렵습니다. ! asp.net :

Session["mycount"] = 1; 

http://msdn.microsoft.com/en-us/library/ms178581.aspx

아니면 더 나은 viewstate가를 사용하려면 경우에 따라이 http://msdn.microsoft.com/en-us/library/4yfdwycw%28v=vs.71%29.aspx

ViewState["mycount"] = "1"; 
0

예를 처리 세션에 아주 좋은 설명! 정적 변수 용 메모리는 object-type에 할당 된 힙 내부에 할당됩니다. 메모리의 각 페이지에 대해 하나의 객체 유형 만 인스턴스화하는 한, 다음과 같이 작동합니다. asp 웹 페이지 세션 상태는 정적 변수보다 유용합니다. 다음은 post이며 자세한 내용은 동일합니다.

관련 문제