같은 폴더아래 _AppStart.cshtml 에서
@{
var UserLevel = 1;
}
라고 선언을 하고
list.cshtml에서 @UserLevel 을 사용하면
CS0103: 'UserLevel' 이름이 현재 컨텍스트에 없습니다.
라는 메시지가 나옵니다..
여러가지 테스트를 하면서 _AppStart.cshtml의 활용처에 대해 갈피를 못잡고 있습니다.
이 페이지에서 Session값을 선언하려고 해도 안되고...Request도 안되고...(모든 프로그램 시작전에 읽는 페이지라 그런것 같은데 맞는지요)
위처럼 전역 변수를 선언해도 안되네요....ㅡ.ㅡ;;
강좌에 나온 내용들을 읽어보면 당연히 되어야 하는데 뭘 잘못한건지 모르겠네요...
RendPage나 Layout같은 페이지들은
asp나php에서 사용되는 include개념이 좀 다른것 같습니다..
전역변수를 활용했으면 좋겠는데 _AppStart도 안되니 답답하네요..
제가 놓치고 있는게 있을지요...
Comment 1
-
컴포지트
2011.11.28 19:22
변수를 공유하려면 Page 속성을 사용하시길.
var asd="1"; 이런 변수 선언은 지역 변수를 선언하기 때문에 당연히 다른 페이지에서 인식할 수 없습니다.
Page.asd="1"; 이렇게 선언하시면 상속된 모든 페이지에서 사용 가능합니다.
닷넷은 전역 변수란 개념이 없습니다.