Puoi usare l'evento ItemDataBound per scrivere codice più facilmente, invecie che scriverlo inline nel markup; inoltre tu hai il panel nell'header template, quindi quello che vuoi fare non può funzionare.
Dovresti mettere il panel per ogni riga.
codice:<asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource4" OnItemDataBound="Repeater3_ItemDataBound"> ... ... <ItemTemplate>[*] <asp:Panel ID="Panel3" runat="server" > <span><%# Eval("FilmType")%></span> </asp:Panel> </ItemTemplate> ... ...codice:protected void Repeater3_ItemDataBound(object sender, RepeaterItemEventArgs e) { DataRow drow = e.Item.DataItem as DataRow; Panel pnl = e.Item.FindControl("Panel3") as Panel; if (drow != null) { pnl.Visible = drow["FilmType"] != null; } }

Rispondi quotando