C#ASP.NET自定义控件未显示
我正在尝试为ASP.NET构建一个自定义控件 我首先在VS2010中创建了一个Web应用程序,并创建了一个新的.ascx页面。该页面称为“TestBox”,它只是一个文本框控件,文本为“thisatest” 我构建了这个项目,然后在另一个网站中包含了DLL,以确保我能够移动控件。根据我找到的教程,我在页面顶部添加了以下代码行:C#ASP.NET自定义控件未显示,c#,asp.net,custom-controls,ascx,C#,Asp.net,Custom Controls,Ascx,我正在尝试为ASP.NET构建一个自定义控件 我首先在VS2010中创建了一个Web应用程序,并创建了一个新的.ascx页面。该页面称为“TestBox”,它只是一个文本框控件,文本为“thisatest” 我构建了这个项目,然后在另一个网站中包含了DLL,以确保我能够移动控件。根据我找到的教程,我在页面顶部添加了以下代码行: <%@ Register TagPrefix="TestControl" Namespace="TestControl" Assembly="TestControl
<%@ 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>
这是一个测试
我没有以任何方式接触设计器代码或.cs代码
编辑:算出了。我为.CS文件声明了名称空间,但没有为.ASPX文件本身声明名称空间。答案是我必须为ASPX文件本身添加名称空间,而不仅仅是底层代码文件。我忘了在页面声明中添加
Class=“TestControl.TestBox”
。您是否查看了呈现的HTML以查看是否有任何线索?只是查看了一下,没有,没有任何关于该框存在的证据。实际上,这里有一点:'''',这很正常,这是页面的视图状态。你能为你的TestControl
发布代码吗?