Search code examples
c#asp.netcustom-controlsascx

C# ASP.NET Custom Control not showing up


I'm trying to construct a custom control for ASP.NET I started by creating a Web Application in VS2010 and creating a new .ascx page. The page is called "TestBox" and it's just a single TextBox control with "This is a test" as the text.

I built the project and then included the DLL in another website in order to make sure I would be able to move controls. Based on a tutorial I found here I added the following line of code to the top of the page:

<%@ Register TagPrefix="TestControl" Namespace="TestControl" Assembly="TestControl" %>

Then I added this to the page itself:

<TestControl:TestBox ID="TestBox1" runat="server" />

The code compiles and the page loads without throwing up any errors, but when it loads it's completely blank. By introducing a deliberate runtime error, I determined that the TextBox is definitely being loaded, but the control itself still isn't showing up.

Am I missing something?

Code for the TestControl:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestBox.ascx.cs" Inherits="TestControl.TestBox" %>
<asp:TextBox ID="TextBox1" runat="server" ontextchanged="TextBox1_TextChanged">This is a test</asp:TextBox>

I haven't touched the Designer code or the .cs code in any way.

EDIT: Figured it out. I had declared a namespace for the .CS file but not the .ASPX file itself.


Solution

  • The answer was that I had to add a namespace to the ASPX file itself and not just the underlying code file. I forgot to add Class="TestControl.TestBox" to the page declaration.