Can't set Visible attribute in ASP.NET Panels

Posted by RichW on Stack Overflow See other posts from Stack Overflow or by RichW
Published on 2008-12-18T19:46:37Z Indexed on 2010/05/30 15:12 UTC
Read the original article Hit count: 234

Filed under:
|

I am having trouble with visible attribute of an ASP.NET Panel control. I have a page that calls a database table and returns the results in a datagrid.

Requirements

If some of the returned values are null I need to hide the image that's next to it.

I am using a Panel to determine whether to hide or show the image but am having trouble with the statement:

visible='<%# Eval("addr1") <> DBNull.Value %>'

I have tried these as well:

visible='<%# Eval("addr1") <> DBNull.Value %>'
visible='<%# IIf(Eval("addr1") Is DbNull.Value, "False","True") %>'

Code is below:

<asp:TemplateField >
     <ItemTemplate>
          <%# Eval("Name")%>
               <p>
                   <asp:Panel runat="server" ID="Panel1" 
                        visible='<%# Eval("addr1") <> DBNull.Value %>'>
               <asp:Image Id="imgHouse" runat="server" 
                        AlternateText="Address" SkinId="imgHouse"/>                
               </asp:Panel>
           <%# Eval("addr1") %><p>                                             
</ItemTemplate>
</asp:TemplateField>

What am I doing wrong?

Edit

If I use visible='<%# IIf(Eval("addr1") Is DbNull.Value, "False","True") %>'

I get the following error:

Compiler Error Message: CS1026: ) expected

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about datagrid