Как я могу сделать если оператор в повторителе

Как другие сказали... не тестируют закрытые методы непосредственно. Вот несколько мыслей:

  1. Сохраняют все методы маленькими и сфокусированными (легкий протестировать, легкий найти что не так)
  2. инструменты покрытия кода Использования. Мне нравится Cobertura (о, счастливый день, похож на новую версию, отсутствует!)

Выполнение покрытие кода на модульных тестах. Если Вы видите, что методы не полностью тестируются, добавляют к тестам для подъема покрытия. Стремитесь к 100%-му покрытию кода, но поймите, что Вы, вероятно, не получите его.

6
задан Jon Seigel 7 April 2010 в 01:55
поделиться

4 ответа

Вы могли бы попробовать создать своего рода класс ViewModel, принять решение о коде программной части, а затем довольствоваться своим ретранслятором, просто отображая данные, которые он дает.

Это способ отделить логику от пользовательского интерфейса. Затем у вас может быть тупой интерфейс, который просто отображает данные, без необходимости решать, что и как показывать.

7
ответ дан 8 December 2019 в 02:46
поделиться

Вы можете использовать видимость на стороне сервера:

<ItemTemplate>
    <div runat="server" visible='<% (Container.DataItem("property") == "test") %>'>
        I show this HTML
    </div>
    <div runat="server" visible='<% (Container.DataItem("property") != "test") %>'>
        I show this other HTML
    </div>
</ItemTemplate>
20
ответ дан 8 December 2019 в 02:46
поделиться

Вы можете сделать это с помощью пользовательских элементов управления:

<ItemTemplate>
    <uc:Content1 runat='server' id='content1' visible='<%# Container.DataItem("property") == "test" %>'/>
    <uc:Content2 runat='server' id='content2' visible='<%# Container.DataItem("property") != "test" %>'/>
</ItemTemplate>
3
ответ дан 8 December 2019 в 02:46
поделиться

Похоже, я перепутал это с фактической привязкой данных

Вы можете сделать это как так:

<asp:Repeater runat="server"> 
    <ItemTemplate>    
        <% if (((Product)Container.DataItem).Enabled) { %>
        buy it now!
        <% } else {%>
        come back later!
        <% } %>
    </ItemTemplate>
</asp:Repeater>

3
ответ дан 8 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: