2016-12-14 1 views
-1

왜이 레이블이 렌더링 된 HTML에 표시됩니까 ??vb.net 레이블에 세션 변수가 표시되지 않습니다.

<asp:Label ID="Label1" runat="server" Visible='<%# false %>' Text='HERE' /> 

내가 뒤에있는 코드에서 false로 표시를 설정할 수 있습니다 다음, 멀리 갈 것입니다,하지만 난 정말 원하는 것은 세션에 따라 가시성을 설정하는 변수를 다음과 같이 기존 :

<asp:Label ID="Label2" runat="server" Visible='<%# isnothing(Session("Login_ID")) %>' Text='THERE' /> 

나는 전에 이것을하지 않았다고 맹세 할 수는 있지만 오늘은 효과가 없다.

답변

0

나는 당신이 Page에 바인딩 할 것을 말하지 않기 때문이라고 생각합니다. 다른 컨트롤은 DataGrid과 같이 자동으로 바인딩 될 수 있지만 수동으로 페이지에 지시해야합니다.

' Me is the Page; call this from the page to bind its controls that use the <%# %> syntax 
Me.DataBind() 

또는이 상대적으로 정적이기 때문에, 영문에서 다음을 사용 (같음 :

나는 그것이 의미 (예를 들어, 사전 렌더링 라이프 사이클 이벤트)를 만들어 어디 선가 이런 식으로 그것을하는 데 사용 생각 오히려) 바인딩 #보다, 과제에 대한 서명 : 내가 얻을 할 때 "의 문자열 표현 '에서 유형의'선택 System.Boolean '개체를 만들 수 없습니다 <% =이 isnothing하지 (세션 ("

<asp:Label ID="Label2" runat="server" Visible='<%= isnothing(Session("Login_ID")) %>' Text='THERE' /> 
+0

login_ID에 ")) %> 'Visible'속성." –

+0

databind()가 추가되었습니다. .databind()를 데이터 컨트롤에 추가하면 제대로 작동하는 것 같습니다! –

관련 문제