2012-03-16 41 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") %>' > 

啤酒花它的帮助