Встроенный оператор IF для ItemIndex ASP: повторитель VB.NET - PullRequest
3 голосов
/ 14 августа 2010

Я пытаюсь выполнить встроенный оператор IF внутри элемента управления asp: Repeater , чтобы добавить класс к первому элементу, но я не совсем понимаю, как это понять.

В основном код, который у меня есть сейчас, который не работает, но должен дать представление о том, что я «пытаюсь» сделать, выглядит следующим образом.

   <asp:Repeater ID="rptrTabRepeater" runat="server">
       <ItemTemplate>
           <div class="tab <%= If Container.ItemIndex = 0 Then %>highlight<% End If%>">
               'Other stuff here
            </div>
       </ItemTemplate>
   </asp:Repeater>

Я пытался использоватьOnItemDataBound событие, но интерфейс делегата не может вернуть значение.Если я собираюсь что-то делать из функции code-behind, то это просто должна быть функция типа «эхо», в которой я не совсем уверен, как получить индекс элемента в функции code-code.Если бы я мог сделать что-то встроенное, как мой пример, это было бы лучшим решением для меня.

Любые лучшие решения также приветствуются.Спасибо!

РЕДАКТИРОВАТЬ: Я получаю ошибку компиляции:

    Compiler Error Message: BC30201: Expression expected.

1 Ответ

8 голосов
/ 14 августа 2010

Вы пробовали что-то вроде:

<ItemTemplate> 
           <div class='tab<%# IIf ( Container.ItemIndex = 0, "highlight", "")%> '>
               'Other stuff here 
            </div> 
</ItemTemplate>
...