Asp.net 注册自定义控件失败

Asp.net 注册自定义控件失败,asp.net,user-controls,Asp.net,User Controls,我正在尝试在webconfig文件中注册我的用户控件,因为我接收到元素不存在错误,但当我尝试在webconfig中注册它们时,我接收到以下错误: Invalid or missing attributes found in the tagPrefix entry. For user control, you must also specify 'tagName' and 'src'. For custom control, you must also specify 'namespace', a

我正在尝试在webconfig文件中注册我的用户控件,因为我接收到元素不存在错误,但当我尝试在webconfig中注册它们时,我接收到以下错误:

Invalid or missing attributes found in the tagPrefix entry. For user control, you must also specify 'tagName' and 'src'. For custom control, you must also specify 'namespace', and optionally 'assembly'
以下是webconfig文件中的代码:

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="IPAMControl" tagName="contact_us" namespace="IPAM.Website.Controls" src="~/controls/contact_us.ascx" />
    <add tagPrefix="IPAMControl" tagName="erh_list" namespace="IPAM.Website.Controls" src="~/controls/erh_list.ascx" />
    <add tagPrefix="IPAMControl" tagName="header" namespace="IPAM.Website.Controls" src="~/controls/header.ascx" />
    <add tagPrefix="IPAMControl" tagName="footer" namespace="IPAM.Website.Controls" src="~/controls/footer.ascx" />
    <add tagPrefix="IPAMControl" tagName="main_tnavbar" namespace="IPAM.Website.Controls" src="~/controls/main_tnavbar.ascx" />
    <add tagPrefix="IPAMControl" tagName="program_header" namespace="IPAM.Website.Controls" src="~/controls/program_header.ascx" />
    <add tagPrefix="IPAMControl" tagName="program_list" namespace="IPAM.Website.Controls" src="~/controls/program_list.ascx" />
    <add tagPrefix="IPAMControl" tagName="signup_section" namespace="IPAM.Website.Controls" src="~/controls/signup_section.ascx" />
    <add tagPrefix="IPAMControl" tagName="speaker_list" namespace="IPAM.Website.Controls" src="~/controls/speaker_list.ascx" />
    <add tagPrefix="IPAMControl" tagName="track" namespace="IPAM.Website.Controls" src="~/controls/track.ascx" />
  </controls>
</pages>

出现此问题的页面也会引用母版页(如果有必要):

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/programs/MasterProgram.master" CodeBehind="~/programs/wim2011/default.aspx" Inherits="IPAM.Website.programs.wim2011._default" %>

它们都在各自的文件夹中


请提供帮助。

删除namespace属性,因为它会混淆ASP.NET,使您无法确定您是在尝试注册用户控件还是自定义控件

用户控制:

<add tagPrefix="SomeTagPrefix" src="~/Controls/SomeControl.ascx" tagName="SomeTagName"/>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyUserControl.ascx.cs" Inherits="WebApplication1.Controls.MyUserControl" %>
<span>Hi, im a user control, how are you?</span>
了解更多信息

编辑

为了证明这一点,我做了以下工作:

  • 创建新的Web应用程序
  • 在web应用程序的根目录中创建名为“Controls”的新文件夹
  • 添加了一个名为“MyUserControl.ascx”的新“Web用户控件”
  • 修改web.config以添加控件的注册
  • 修改Default.aspx以添加控件
  • 一切都很好

    以下是用户控件:

    <add tagPrefix="SomeTagPrefix" src="~/Controls/SomeControl.ascx" tagName="SomeTagName"/>
    
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyUserControl.ascx.cs" Inherits="WebApplication1.Controls.MyUserControl" %>
    <span>Hi, im a user control, how are you?</span>
    
    
    嗨,我是一个用户控件,你好吗?
    
    以下是我编辑的web.config部分:

    <pages>
          <controls>
            <add tagPrefix="MyControls" tagName="MyUserControl" src="~/Controls/MyUserControl.ascx"/>
          </controls>
        </pages>
    
    
    
    以下是我对Default.aspx所做的更改:

    <MyControls:MyUserControl id="myUserControl" runat="server" />
    
    
    
    并且页面呈现正确

    现在,除非我在这里所做的与您试图做的不同,否则您必须有其他代码/错误干扰这一点


    我不知道还能帮上多少忙。

    我尝试了你的建议,但仍然收到了错误。实际上,当我使用那个注册控件时,IPAMControl并没有出现在Intellisense中。你引用的链接正是我在这里引用的:)@mattgcon-我在我的网络配置中有多个注册,就像我的答案一样。尝试删除所有用户控件声明,确保网站运行(这确保其他内容不会导致问题)。然后逐个添加控件。从所有页面中删除所有用户控件声明,对吗?我非常沮丧,我从其中一个页面中删除了用户控件声明,我看不出您是在web.config文件中收到错误,还是在尝试添加它的页面中收到错误?我的意思是从web.config中删除所有声明,让您的网站/页面正常工作,然后从那里开始。
    <MyControls:MyUserControl id="myUserControl" runat="server" />