One of the many things that ASP.NET has made incredibly easy is dynamically showing/hiding text. You just put the text in a Label control and set the Visibility to false. I suppose you could do that with a Literal. Or a PlaceHolder. Or just about any of the System.Web.UI.HtmlControls. But if reeeaaally wanted to get creative, like Gavin's predecessor, you could place two labels around the block to turn it into one big HTML comment ...

<tr>
  <!-- Snip -->

  <asp:Label id="lblIStart4" visible="False" runat="server"></asp:Label>
    <td valign="top" width="100%">
      <b>Note: availability not guaranteed</b>
    </td>
  <asp:Label id="lblIEnd4" visible="False" runat="server"></asp:Label>

</tr><tr>

  <!-- Snip -->

  <asp:Label id="lblIStart5" visible="False" runat="server"></asp:Label>
    <td valign="top" width="100%">
      additional fee required, check 
      <a href="/help/guidelines.aspx#additionalfees">guidelines</a> 
      for more information
    </td>
  <asp:Label id="lblIEnd5" visible="False" runat="server"></asp:Label>

</tr>

And what ASPX page would be complete without its code behind ...

If quoteRequest.PreferenceCode <> "P" Then
  lblIStart4.Text = "<!--"
  lblIStart4.Visible = True
  lblIEnd4.Text = "-->"
  lblIEnd4.Visible = True
  If quoteRequest.GuidelineException > GuidelineExceptions.Minor Then
    lblIStart5.Text = "<!--"
    lblIStart5.Visible = True
    lblIEnd5.Text = "-->"
    lblIEnd5.Visible = True
  End If
End If
[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!