Dot NET
Dot NET

Reputation: 4897

How do I conditionally control the visibility of a control in ASP.NET?

I've got an asp:Image. I want this control to display, only if <%#Eval("Image")%> is not null.

I do not know how to write this conditional statement. What I'm trying to say is something like this (if the value of 'image' taken from the data structure is not null, then display the image. Otherwise, do not):

<%#Eval("Image")%> != 0 ? <asp:Image ID="image" runat="server"/>

I'm aware that this is not the syntax - consider it as pseudocode, as I have never had to write a conditional statement in the markup.

Any ideas? :)

Upvotes: 5

Views: 12752

Answers (1)

Mehrdad Afshari
Mehrdad Afshari

Reputation: 421978

You can bind the Visible property of your control to the expression and call DataBind() while the page is loading:

<asp:Image runat="server" id="image" Visible='<%#Eval("Image") != null %>' />

If you are not using server controls and want to show/hide simple markup, you can simply enclose it in an if statement:

<% if ( condition ) { %>
    <img src='<%= linkToImageSource %>' />
<% } %>

Upvotes: 14

Related Questions