title: Controls on .ascx are null in .ascx.cs
body: <p>I am creating a custom web control but the controls I have on the .ascx file are null when I reference it in .cs file. Am I missing something?</p>
  
  <p>.ASCX</p>
  
  <pre><code>&lt;asp:Table runat="server" BorderWidth="0" BorderStyle="None"&gt;
  &lt;asp:TableRow VerticalAlign="Middle" BorderWidth="0"&gt;
      &lt;asp:TableCell HorizontalAlign="Center" BorderWidth="0" BorderStyle="None"&gt;
          &lt;asp:Button ID="button" runat="server" Text="Button" /&gt;
      &lt;/asp:TableCell&gt;
  &lt;/asp:TableRow&gt;
  
  &lt;asp:TableFooterRow BorderWidth="0" BorderStyle="None"&gt;
      &lt;asp:TableCell HorizontalAlign="Center" ID="caption" Font-Size="12pt" Height="80px" VerticalAlign="Top" BorderWidth="0" BorderStyle="None" BorderColor="Transparent" /&gt;
  &lt;/asp:TableFooterRow&gt;
  &lt;/asp:Table&gt;
  </code></pre>
  
  <p>.ASCX.CS</p>
  
  <pre><code>public void Process()
  {
      button.Text = "ok"; //it fails here because it's null;
  }
  </code></pre>
  
  <p>Test.aspx</p>
  
  <pre><code>MyButton button = new MyButton();
  button.Process();
  </code></pre>