Link to home
Start Free TrialLog in
Avatar of nikdonovanau
nikdonovanau

asked on

ASP.NET simple if statement

Hi Experts.

I have a simple page that displays a data repeater.

My question is.

If there are no records returned how do i NOT display the repeater at all.

I thought maybe
<%  
dim strCount
  strCount = Get_Students1.RecordCount
if strCount < 1 then  %>
 <asp:Repeater DataSource="<%# Get_Students1.DefaultView %>" ID="Repeat1" runat="server">
  <HeaderTemplate>
        <table width="500" style="font: 8pt verdana" border="1">
          <tr style="background-color:DFA894">
            <th>
             First
            </th>
            <th>
              Last
            </th>
            <th>
              DOB
            </th>
            <th>
              M/F
            </th>
                </tr>
 </HeaderTemplate>

      <ItemTemplate>
        <tr style="background-color:FFECD8">
          <td>
            <%# Get_Students1.FieldValue("Surname", Container) %>
          </td>
          <td>
            <%# Get_Students1.FieldValue("GivenNames", Container) %>
          </td>
          <td>
            <%# trim(left(Get_Students1.FieldValue("DateOfBirth", Container),10)) %>&nbsp;
          </td>
          <td>
            <%# Get_Students1.FieldValue("Gender", Container) %>
          </td>
         
        </tr>
      </ItemTemplate>
      <FooterTemplate>
        </table>
      </FooterTemplate>
</asp:Repeater><% end if %>

But I dont know the correct syntax to use

Please Help
Cheers
Beginner on ASP.NET
Avatar of QPR
QPR
Flag of New Zealand image

You could use a gridview which would give you the same layout/results and then use

<asp:GridView ID="GridView1" runat="server" EmptyDataText="nothing to see here">
nothing to see here - would be what the users saw if no data was returned
Avatar of nikdonovanau
nikdonovanau

ASKER

Thanks for that. Using the gridview can you still have control of the data?

I used repeater because I can munaully code the href links in the output if I need to.

I just found a workaround after reading your post. If i put the if statement inside the headertemplate like this

<HeaderTemplate>
    <table width="500" style="font: 8pt verdana" border="1">
         <%  if Get_Students1.RecordCount > 0 then  %><tr style="background-color:DFA894">
            <th>
             First
            </th>
            <th>
              Last
            </th>
            <th>
              DOB
            </th>
            <th>
              M/F
            </th>
            </tr><% end if %>
 </HeaderTemplate>

it works a treat.

But im assuming its not best practice to do it this way, yes/no?

Thanks again
ASKER CERTIFIED SOLUTION
Avatar of QPR
QPR
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ahh, I see. Thanks for your help. That makes sense.

Im slowly getting there.