2013-06-19 64 views
0

我有一個asp的中繼器和一個項目,需要我來顯示或隱藏取決於兩個布爾值評估2級的bool單個布爾結果

的狀態的文本字符串也能正常工作:

<asp:Label ID="X" runat="server" Text="yadayada" Visible='<%# (bool)DataBinder.Eval(Container.DataItem, "field1") %>'> 

不幸的是我需要比較兩個字段。我試圖爲邏輯如下:

True + True = True 
True + False = False 
False + True = False 

所以我試試這個:

'<%# (bool)DataBinder.Eval(Container.DataItem, "field1") + (bool)DataBinder.Eval(Container.DataItem, "field1") %>' > 

我也試過把一個"if"語句邏輯之前做了典型c#(||)評價,但編譯器將不允許"if"

任何幫助將大大讚賞。

+1

使用'&&而不是'+' – mshsayem

+1

看起來像你想要的AND:兩者都是真的,其他都是假的。嘗試'&&'而不是'||'或'+'。 – John3136

+0

&&工作。謝謝大家。 –

回答

2

您需要使用&&運算符而不是+。嘗試使用:

Visible='<%# (bool)Eval("field1") && (bool)Eval("field1") %>' 
+0

好吧,如果兩個操作數都被評估爲true,'&&'會給你'true'。這不是你想要的嗎?如果兩個操作數都是「假」,你是否需要'true'? – mshsayem

+0

你的建議答案似乎是很好的mshsayem。謝謝。 –