自定义控件相同的程序集 - 可视Web部件

时间:2010-06-10 12:21:49

标签: asp.net sharepoint

我正在开发一个需要创建自定义控件的Visual Web部件。我正在尝试将自定义控件添加到与Visual Web Part相同的程序集并将控件注册为:

<%@ Register TagPrefix="cus" Namespace="SomeCustomControlNameSpace" %>

当我尝试访问它的抛出运行时错误时:

未知服务器标记'cus:ControlName'。

我是否需要为此创建任何Web.Config条目?

任何想法?

2 个答案:

答案 0 :(得分:2)

也许你已经尝试过了(并且已经厌倦了听到它),但是我已经通过使用程序集标记来引用它来使这个场景工作。我的项目是一个Web应用程序,因此这可能不适用于网站项目。无论如何,这是我的Web应用程序属性:

Web Application Properties. Assembly name is: Example.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" %>