我在页面顶部注册了一个用户控件:
<%@ Register Src="/Controls/User/Navbar.ascx" TagName="Navbar" TagPrefix="pmc" %>
我在我的页面中引用它:
<pmc:Navbar runat="server" id="navbar"></pmc:Navbar>
但它不知道<pmc:Navbar
是什么。我无法弄清楚原因。
我在Web应用程序项目中使用VS 2008。
答案 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中注册用户控件,因为它可以使事情更加整洁,并且可以更好地避免路径问题。