Это немного обходной путь, но у вас может быть скрытое поле в вашем теге ItemTemplate:
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("web") %>' />
Затем вы можете установить атрибут 'runat' элемента div в 'server' и датьDiv ID.
<div id="divWeb" runat="server" visible="false">Web: <a href="<%# Eval("Web") %>"><%# Eval("Web") %></a></div>
В своем коде позади вы проверяете, пусто ли HiddenField1
.Если он не пустой, то установите «divWeb» visible = true
.
Недостатком этого метода является то, что пользователь может вручную изменить значение HiddenField1.Однако, если это не проблема (с точки зрения безопасности), вы можете попробовать этот метод.
Обновление Ниже приведен фрагмент кода из встроенного раздела этого сайта :
<asp:Repeater id="collectionRepeater" Runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "OwnerId") %> -
<asp:literal ID="see" Runat="server"
Visible='<%# (int)DataBinder.Eval(Container.DataItem, "Pets.Count") > 0 %>'>
see pets
</asp:Literal>
<asp:literal ID="nopets" Runat="server"
Visible='<%# (int)DataBinder.Eval(Container.DataItem, "Pets.Count") == 0 %>'>
no pets
</asp:Literal>
<br />
</ItemTemplate>
</asp:Repeater>
В есть также альтернативные варианты