我正在尝试为 ASP.NET 构建一个自定义控件,我首先在 VS2010 中创建一个 Web 应用程序并创建一个新的 .ascx 页面。该页面称为“TestBox”,它只是一个带有“This is a test”作为文本的TextBox 控件。
我构建了该项目,然后将 DLL 包含在另一个网站中,以确保我能够移动控件。根据我在这里找到的教程,我在页面顶部添加了以下代码行:
<%@ Register TagPrefix="TestControl" Namespace="TestControl" Assembly="TestControl" %>
然后我将它添加到页面本身:
<TestControl:TestBox ID="TestBox1" runat="server" />
代码编译并且页面加载没有抛出任何错误,但是当它加载时它是完全空白的。通过引入故意的运行时错误,我确定 TextBox 肯定正在加载,但控件本身仍然没有显示。
我错过了什么吗?
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>
我没有以任何方式接触过 Designer 代码或 .cs 代码。
编辑:想通了。我已经为 .CS 文件声明了一个命名空间,但没有为 .ASPX 文件本身声明一个命名空间。