title: BC30311 error: Why can't I use a PlaceHolder inside a table for a specific user control?
body: <p>We have a standard asp.net web application and have used asp:PlaceHolders in multiple places.  In some files we get this error message during runtime:</p>
  
  <blockquote>
    <p>BC30311: Value of type 'System.Web.UI.WebControls.PlaceHolder' cannot
    be converted to 'System.Web.UI.HtmlControls.HtmlTableRow'.</p>
  </blockquote>
  
  <p>Why?  </p>
  
  <p>If I remove the place holder the page renders just fine.</p>
  
  <p>Here is the html (simplified version):</p>
  
  <pre><code>&lt;table runat="server" id="tblExtradata" visible=true&gt;               
    &lt;asp:PlaceHolder ID="test" runat="server" Visible="true"&gt;
      &lt;tr&gt;
        &lt;td&gt;
          &lt;asp:Label ID="lblExpenses" runat="server" Text="Expensesr"&gt;&lt;/asp:Label&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/asp:PlaceHolder&gt;
  &lt;/table&gt;
  </code></pre>
  
  <p>Version Information: Microsoft .NET Framework Version:2.0.50727.5446; ASP.NET Version:2.0.50727.5420</p>