asp.net用户控件未显示:无法识别的命名空间

Ric*_*d77 0 asp.net user-controls

这是如何在页面上注册控件:

<%@ Register TagPrefix="uc" TagName="Pcp" Src="../../Controls/ClientPayement.ascx" %>
Run Code Online (Sandbox Code Playgroud)

这就是我使用它的方式:

<uc1:Pcp ID = "pcpClient1"></uc1:Pcp> 
Run Code Online (Sandbox Code Playgroud)

我不知道为什么uc1有绿色下划线警告.当我将鼠标悬停在它上面时,它会显示:"无法识别的命名空间 uc1".并且用户控件未显示在页面上.

我错过了什么吗?然而,本教程说这就是我需要做的.

jua*_*rro 5

您正在指定一个uc前缀,<%@ Register TagPrefix="uc" ..以便您应该使用它:

<uc:Pcp ID = "pcpClient1"></uc:Pcp> 
Run Code Online (Sandbox Code Playgroud)

或者您可以更改声明的前缀:

<%@ Register TagPrefix="uc1" TagName="Pcp" Src="../../Controls/ClientPayement.ascx" %>
Run Code Online (Sandbox Code Playgroud)

并使用您在问题中发布的控件:

<uc1:Pcp ID = "pcpClient1"></uc1:Pcp> 
Run Code Online (Sandbox Code Playgroud)

编辑

正如Shai Cohen在另一个答案中指出的那样,你也错过runat="server"了usercontrol标签.

<uc1:Pcp ID = "pcpClient1" runat="server"></uc1:Pcp> 
Run Code Online (Sandbox Code Playgroud)