我正在开发一个需要创建自定义控件的Visual Web部件。我正在尝试将自定义控件添加到与Visual Web Part相同的程序集并将控件注册为:
<%@ Register TagPrefix="cus" Namespace="SomeCustomControlNameSpace" %>
当我尝试访问它的抛出运行时错误时:
未知服务器标记'cus:ControlName'。
我是否需要为此创建任何Web.Config条目?
任何想法?
答案 0 :(得分:2)
也许你已经尝试过了(并且已经厌倦了听到它),但是我已经通过使用程序集标记来引用它来使这个场景工作。我的项目是一个Web应用程序,因此这可能不适用于网站项目。无论如何,这是我的Web应用程序属性:
在我的页面上,在同一个程序集中,我有以下Register指令:
<%@ Register TagPrefix="jb" Namespace="CustomControlNameSpace" assembly="Example.Web" %>
作为旁注,这里是Microsoft says about it(没有提及我上面尝试的内容):
使用@ Register指令时 引用一个控件,你可以放置 控件的代码 以下地点:
作为应用程序中的源代码 App_Code文件夹,它将在哪里 在运行时动态编译。这个 是一个方便的选择 发展。如果你选择这个 选项,您不使用程序集 @ Register指令中的属性。
作为编译程序集中的 应用程序的Bin文件夹。这是一个 部署Web的常用选项 应用
作为编译和签名的程序集 全局程序集缓存(GAC)。这个 如果你愿意,这是一个常见的选择 共享编译控件 多个申请。您可以 引用GAC中的控件 为...分配一个识别字符串 装配属性。字符串 指定所需的详细信息 控制,包括其完全 限定类型名称,其版本,其 公钥令牌及其文化。
答案 1 :(得分:1)
您必须告诉注册要查看哪个程序集。
<%@ Register TagPrefix="cus" Namespace="SomeCustomControlNameSpace" Assembly="SomeCustomControlAssembly" %>