在web.config文件配置了用户控件
<pages>
<controls>
<add tagPrefix="Pweb" tagName="navepage" src="~/controls/navepage.ascx" />
</controls>
</pages>
aspx调用用户控件的时候出错:
<Pweb:navepage ID="_navepage" runat="server" />
报错信息:
页“/controls/navepage.aspx”无法使用用户控件“/controls/navepage.ascx”,因为此控件已在 web.config 中注册并且与该页位于同一个目录中。
这是是什么原因呢?
原因如下:
通过 pages.controls.add 注册的 UserControl,如果和该用户控件在同一级目录aspx文件引用此用户控件的,仍然要是使用 Regisert 指令在aspx页面中对此控件进行注册,否则 ASP.NET 就无法解析了,
解决方法:
1.在aspx页面通过Regiset指令再次注册改用户控件
2.给用户控件新建用户目录,/ 避免用户控件和需要引用该用户控件的aspx在同一级目录。