注册用户控制问题

时间:2009-08-04 13:15:56

标签: asp.net

我在页面顶部注册了一个用户控件:

<%@ Register Src="/Controls/User/Navbar.ascx" TagName="Navbar" TagPrefix="pmc" %>

我在我的页面中引用它:

<pmc:Navbar runat="server" id="navbar"></pmc:Navbar>

但它不知道<pmc:Navbar是什么。我无法弄清楚原因。

我在Web应用程序项目中使用VS 2008。

2 个答案:

答案 0 :(得分:1)

也许你应该用〜:... Src =“〜/ Controls / User / Navbar.ascx”指定路径......

答案 1 :(得分:1)

从控件的路径中删除初始斜杠,或者更好的是,在其前面添加“〜”:

<%@ Register Src="Controls/User/Navbar.ascx" TagName="Navbar" TagPrefix="pmc" %>

<%@ Register Src="~/Controls/User/Navbar.ascx" TagName="Navbar" TagPrefix="pmc" %>

第一个解决方案是flakey,因为它依赖于根文件夹中存在的页面和它下面存在的控件。第二个是首选,因为它可以在项目的任何页面中使用。

您还应该考虑在web.config中注册用户控件,因为它可以使事情更加整洁,并且可以更好地避免路径问题。