<p>I am wondering what server control people generally use for surrounding and separating blocks of related controls and content in a Web Forms scenario.  Often times I need to surround a block of HTML and related Server controls with a 'panel' that I can show or hide based upon some UI logic in the code behind.  I am usually faced with either using a Panel, however this doesn't work if I need to surround multiple TR's in a table for example because the Panel renders as a div which is invalid inside a Table tag.  In this situation I usually just set each TR to runat server and show/hide each of them individually, but there must be a better way.  I have seen the PlaceHolder control used for this scenario, but wanted to know if anyone does this or has any other suggestions.</p>

Even with the PlaceHolder control, Visual Studio will complain that you don't have valid HTML.
You might grit your teeth and do it via server side code blocks that access properties on the code behind:
```
```
<table>
  <tr>
     ....
  </tr>

  <% if( ShowSecretRow ) { %>

  <tr>
    <td>shhh!</td>
  </tr>

  <% } %>
</table>
```
```
Be careful though... it's a slippery slope and you don't want your ASPX to be too convoluted.