проверка значения желоба, если в ретрансляторе


<asp:Repeater ID="rptEntries" runat="server" DataSourceID="dsEntries">
   <ItemTemplate>
      <%
         if (Convert.ToInt16(Eval("entryWinner")) == 1)
         {
      %>
            <%# "<div class="imgThumb draggable" style="background-image:url('uploads/"
               + Eval("entryImagename") + "');" data-id="" + Eval("pk_entryId")
               + ""></div>"
            %>
      <%
          }else{
      %>
            <%# "<div class="imgThumb draggable" style="background-image:url('uploads/"
                + Eval("entryImagename") + "'); filter: grayscale(100%);" data-id=""
                + Eval("pk_entryId") + ""></div>"
            %>
      <%
           }
      %>
   </ItemTemplate>
</asp:Repeater>

Я хочу проверить значение te из entryWinner перед отображением, но это дает следующую ошибку:

Методы привязки данных, такие как Eval (), XPath () и Bind() могут быть только используется в контексте элемента управления databound.

1 2

1 ответ:

Вы можете попробовать что-то вроде этого:

<asp:Repeater ID="rptEntries" runat="server" DataSourceID="dsEntries">
   <ItemTemplate>
            <%# String.Format("<div class=\"imgThumb draggable\" style=\"background-image:url('uploads/{0}');{1}\"  data-id=\"{2}\"></div>"
,Eval("entryImagename")
,(Convert.ToInt16(Eval("entryWinner")) == 1)?"":" filter: grayscale(100%);",Eval("pk_entryId"))%>
       </ItemTemplate>

</asp:Repeater>