>我尝试在页面上注册我的用户控件,如下所示:
<%@Register Src="path_to_usercontrol.ascx" TagPrefix="uc" Tagname="control" %>
我还尝试根据以下答案在 web.config 上注册我的用户控件:
<pages>
<controls>
<add tagPrefix="uc" src="~/UserControls/ContractUserControl.ascx" tagName="Contract" />
</controls>
</pages>
从理论上讲,这两种方法都应该绝对有效,但是,两者都行不通。
根据链接的问题,Intellisense 首先没有向我显示存在"uc"
命名空间,更不用说我想使用的控件存在在那里了。
我已经尝试清理和构建/重建项目和解决方案,但这些似乎都没有以任何方式影响问题。
我看到的文档都没有表明我做错了什么或遗漏了什么,那么我应该怎么做才能解决这个问题呢?
编辑
我在这个清理方面更进一步,从我的项目文件夹中删除了 Bin 文件夹和 web.config 文件。这个想法是根据@chrisrogers关于清理/构建/重建功能的答案的评论更彻底地清理解决方案。
即便如此,一旦完成,在完成新版本之后绝对没有任何变化。
您仍然需要创建控件的实例才能让智能感知找到它。
<div>
<uc:control runat="server" ID="WebUserControl1" />
</div>
现在,您可以在代码隐藏中使用 ID 访问它WebUserControl1