Search code examples
asp.nethiderepeaterhref

hide repeater href when databiner.eval is null


I have a repeater column like this

                                     <asp:Label id="lbl1" runat="server"><a href='mailto:<%# DataBinder.Eval(Container.DataItem, "EMAIL1_GPD") %>'
                                     target='_blank'> <%# DataBinder.Eval(Container.DataItem, "FIRSTNAME1_GPD") %>
                                           <%# DataBinder.Eval(Container.DataItem, "LASTNAME1_GPD") %></a> </asp:Label>

                                   <br/>
                                   <asp:Label ID="lblPhone" runat="server" Text='<%# Eval("PHONE1_GPD") %>' Visible='<%# Eval("PHONE1_GPD") == null ? false: true %>'
                                   ForeColor="#000000" Font-Size="Small"></asp:Label>
                                    <br/>

                                   <asp:Label id="Label12" runat="server"><a href='mailto:<%# DataBinder.Eval(Container.DataItem, "EMAIL2_GPD") %>'
                                     target='_blank'><%# DataBinder.Eval(Container.DataItem, "FIRSTNAME2_GPD")%>
                                             <%# DataBinder.Eval(Container.DataItem, "LASTNAME2_GPD")%></a> </asp:Label>

                                   <br/>
                                   <asp:Label ID="Label1" runat="server" Text='<%# Eval("PHONE2_GPD") %>' Visible='<%# Eval("PHONE2_GPD") == null ? false: true %>'
                                   ForeColor="#000000" Font-Size="Small"></asp:Label>
                                    <br/>
                                   <asp:Label id="Label13" runat="server"><a href='mailto:<%# DataBinder.Eval(Container.DataItem, "EMAIL3_GPD") %>'
                                     target='_blank'><%# DataBinder.Eval(Container.DataItem, "FIRSTNAME3_GPD")%>
                                             <%# DataBinder.Eval(Container.DataItem, "LASTNAME3_GPD")%></a> </asp:Label>

                                   <br/>
                                   <asp:Label ID="Label2" runat="server" Text='<%# Eval("PHONE3_GPD") %>' Visible='<%# Eval("PHONE3_GPD") == null ? false: true %>'
                                   ForeColor="#000000" Font-Size="Small"></asp:Label>
                                    </td>

I would like to hide the labels when dataBinder.Eval is empty. I have done it for the labels where it displays phone number. I am stuck with hiding the hrefs. Though it does not display anything when the data is null. The page on the browser does not display properly.


Solution

  • Set visibility of the label like Visible='<%# String.IsNullOrEmpty(Eval("EMAIL3_GPD")) ? false : true %>'. Your label should look like:

    <asp:Label id="Label13" runat="server" Visible='<%# String.IsNullOrEmpty(Eval("EMAIL3_GPD")) ? false : true%>'><a href='mailto:<%# DataBinder.Eval(Container.DataItem, "EMAIL3_GPD") %>'
     target='_blank'><%# DataBinder.Eval(Container.DataItem, "FIRSTNAME3_GPD")%>
             <%# DataBinder.Eval(Container.DataItem, "LASTNAME3_GPD")%></a> </asp:Label>