如何在可供内容页面访问的asp.net主页中注册程序集?

5

我正在尝试使用母版页,并且我希望AjaxControlToolkit在我的Web应用程序的每个页面上都可用,因此我将其放置在母版页的头部。

 <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>

出现了错误:未知的服务器标记“ajax:Accordion”。

如果我将其放在内容页上,它可以正常工作。这里是否有什么我忽略的东西?

1个回答

9
您需要在每个使用该程序集的页面或Web.config中注册该程序集。仅在主页中注册不会使程序集对使用主页的页面可见。
请参阅this post了解在Web.config中执行此操作的说明。
必要的Web.config更改:
<system.web>
    <pages>
      <controls>
        <add tagPrefix="scottgu" src="~/Controls/Header.ascx" tagName="header"/>
        <add tagPrefix="scottgu" src="~/Controls/Footer.ascx" tagName="footer"/>
        <add tagPrefix="ControlVendor" assembly="ControlVendorAssembly"/>
      </controls>
    </pages>
  </system.web>

1
谢谢,非常好用。我最初避免使用它,因为我认为它需要完全限定的路径,例如:"System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35",而我以前曾经遇到过麻烦。无论如何,感谢! - IronicMuffin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接