Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#ASP.NET自定义控件未显示_C#_Asp.net_Custom Controls_Ascx - Fatal编程技术网

C#ASP.NET自定义控件未显示

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

我正在尝试为ASP.NET构建一个自定义控件 我首先在VS2010中创建了一个Web应用程序,并创建了一个新的.ascx页面。该页面称为“TestBox”,它只是一个文本框控件,文本为“thisatest”

我构建了这个项目,然后在另一个网站中包含了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>

这是一个测试
我没有以任何方式接触设计器代码或.cs代码


编辑:算出了。我为.CS文件声明了名称空间,但没有为.ASPX文件本身声明名称空间。

答案是我必须为ASPX文件本身添加名称空间,而不仅仅是底层代码文件。我忘了在页面声明中添加
Class=“TestControl.TestBox”

您是否查看了呈现的HTML以查看是否有任何线索?只是查看了一下,没有,没有任何关于该框存在的证据。实际上,这里有一点:'''',这很正常,这是页面的视图状态。你能为你的
TestControl
发布代码吗?