无法使用我的自定义服务器控件

时间:2012-11-28 16:50:28

标签: c# asp.net web-config

我有一个包含2个项目的Web应用程序:网站本身和包含自定义服务器控件的项目。

我在我的网络应用程序中引用了服务器控件项目,并将其添加到我的web.config:

<pages>
  <controls>
    <add assembly="ServerControls" tagName="MyControl" tagPrefix="sc" namespace="ServerControls" />
  </controls>      
</pages>

但是如何使用控件?它没有显示在工具箱或智能感知中,并且当我在web.config中启动它时给我一个错误。

2 个答案:

答案 0 :(得分:2)

首先,您需要检查自定义控件类是否标记为public,否则将无法从程序集外部看到它。

然后只需在页面中引用它:

<sc:MyControl runat="server" />

您不应该在页面上使用Register指令,因为您已经在web.config中注册了标记前缀。

答案 1 :(得分:0)

您需要注册标签名称,然后使用标签:

<%@ Register TagPrefix="sc" TagName="[control]" 
    Src="~/Controls/control.ascx" %>

在页面顶部,然后像这样使用控件:

<sc:Control id="id" runat="server" />