모든보기에서 아무 곳에서나 액세스 할 수있는 기본 속성을 유지하기 위해 프로젝트에 기본보기를 만들었습니다. BaseView
클래스에는 다음과 같은 속성이 포함되어 있습니다. WebSession
, WebRequest
, WebMain
등보기의 코드 블록이 기본보기 속성에 액세스 할 수 없습니다.
보기 내에서 속성에 액세스하려고하면 액세스 할 수 있습니다. 그러나 뷰의 맨 위에 일부 전역 변수를 설정해야 할 때 요구 사항이있었습니다. 그래서 뷰의 맨 위에 별도의 코드 블록에 변수를 만들었습니다. 컴파일 할 때 다음 코드는 ...
@(
Dim panelInfoVisibility As Boolean = False
Select Case WebSession.Menu
Case arwedes.WebShop.Web.Navigation.MenuEnum.Home
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Reservieren
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Kaufen
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Verkaufen
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Member
If Request.RawUrl.Contains("login") Then
panelInfoVisibility = True
End If
End Select
)
이 코드는 컴파일 오류를 제공하는 'WebSession' is not declared. It may be inaccessible due to its protection level.
...이 같은이 변수를 사용하고 아래의보기에있는 동안
@If panelInfoVisibility Then
@: <div id="panelInfo">Here it goes....</div>
End If
수 아무도 내가 여기서 뭘 잘못하고 있는지 말해.
귀하의 의견을 보내 주셔서 감사합니다. 이전 컴파일러 오류를 제거하는 데 도움이되었지만 이제는 5 행에 'Expression Expected'라는 새로운 오류가 표시됩니다. 이 행은 : @ ('. 내가 무엇을 잘못했는지 모른다. 내 BaseView 클래스는 'WebViewPage' (그리고'WebViewPage (Of TModel)')에서 파생되었다. –
+1 올바른 방향으로 가리키고있다. .. :) –