2012-03-16 61 views
2

正在嘗試一個「奇」類添加到中繼器控制錶行..三元操作在vb.net

<tr class="<%# If((Container.ItemIndex % 2 == 0), "even", "odd") %>"> 

我已驗證Container.ItemIndex返回的索引號。

這會導致它引發此錯誤。 二進制「If」表達式中的第一個操作數必須是可爲空或引用類型。

我也試圖與國防部關鍵字替換%,但它拋出錯誤「期望的表達」 ..

是新來的VB編碼asp.net,試圖尋找一個解決方案,但未能獲得有效的解決方案..

回答

6

,你應該只使用=代替==和使用MOD

+0

Thx,這是我的一個愚蠢的錯誤.. – 2012-03-16 17:48:48

+1

這發生在你習慣了不同的編碼。你總是看着它,它似乎是正確的 – 2012-03-16 17:51:49

+0

確切地說,大聲笑,我不認爲我會看看==看看它是否是正確的,因爲我確信它不會有任何問題..更習慣於C# – 2012-03-16 17:55:49

1

爲了增加Amritpal的答案,你應該使用Mod%

+0

我hv已經引用了相同的 – 2012-03-16 17:42:49

+0

@AmritpalSingh對不起,我沒有發現。 – andygjp 2012-03-18 16:40:59

0

嘗試

<tr class="<%# If((Container.ItemIndex Mod 2 = 0), "even", "odd") %>"> 
1

你也可以試試這個:

<tr class='<%# ((Container.ItemIndex % 2 == 0) ? "odd": "even") %>' > 

啤酒花它的幫助