ASP.NET has an “interesting” way of encapsulating web control declarations within the code-behind of an ASPX page. Instead of forcing you (or “allowing you,” based on your perspective) to explicitly declare web controls via protected members in your code behind page, ASP.NET 2.0 automatically associates a hidden partial class with your code-behind that contains the explicit declarations.
I appreciate the intention, but I find that the implementation makes the code-behind less clear by hiding the control declarations from plain view. Assuming you're not writing monolithic code-behind classes, this coding convenience rarely saves more than a few lines of code. Additionally, with this model, you can no longer add attributes to your control declarations. (For example, some web frameworks allow you to extend ASP.NET's capabilities by placing attibutes along with your control declarations to support features such as bi-directional data binding.)
If you need to control of the declaration of your web controls, or simply miss seeing your declarations in the code-behind, there's a simple fix: within the page declaration of an ASPX page is the keyword CodeFile - change this to src. With this, your web control declarations will no longer be hidden and may/must be explicitly declared in the code-behind.