2011-05-06 3 views
1

조건에 따라 패널이 보이도록 만들고 싶다.

Visible='<%#Convert.ToBoolean(((Session["AccountId"].ToString()=="1")|| 
(Session["AccountID"].ToString()==""))?true:false) %>' 
내가 보이지 않는 패널의 보이게하려면 true = false 일 때 세션 ID = 1 ..
위의 코드는 어떤 제안도 작동하지 않습니다.

+1

사용자가 정의한 시겠어요 '작동하지 않는'를? 오류가 있습니까? <% ... %> 부분의 출력은 무엇입니까? – Rhapsody

+0

먼저 세션 [ "AccountId"]가 표시되는 것을 확인해야합니다. –

+0

이 작동하지 않는다는 의미는 여기 두 패널 모두에 대해 패널이 표시됩니다. – Anboo

답변

0

코드 형식을 지정할 때주의하십시오. 값이 "1"의 경우, 또는

당신은 true를 반환 (""),

이 사용할 수 있습니다 항상 귀하의 경우 인 빈 :

Visible = '<%= Session["AccountId"].ToString()=="1" %>' 

이 결과를 기록합니다 표현식 (부울 값)을 문자열 ("True"또는 "False")로 나타냅니다. 그리고 대부분의 아마이 잘 작동합니다 :

Visible = '<%= Session["AccountId"] == 1 %>' 
+0

오류 'System.Boolean'유형의 객체를 만들 수 없습니다. 그 문자열 표현 '<% = Session [ "AccountId"] == 1 %>' – Anboo

+0

@Anboo http://tinyurl.com/so-hints – jeroenh

0

나는 당신의 하나를 제외한 작업 아래 하나가하는 시도하지했습니다

Visible='<%# (Session["AccountId"] ?? "").ToString() == "1" ? true : false%>' 
+0

그게 작동하지 않습니다. – Anboo

+0

즉 세션 변수가 잘못되었음을 의미합니다. 패널에 대한 전체 aspx 코드와 세션 변수를 어디에 붙여 넣으시겠습니까? –

관련 문제