找不到与命名空间'urn:UmbracoHelper'关联的脚本或扩展对象

时间:2013-04-29 19:13:03

标签: c# css xslt umbraco

我在Umbraco 4.8下开发。

我正在尝试从我的XSLT访问一个类来从中检索一些东西。 该课程名为UmbracoHelper。 我在XSLT的顶部添加了以下内容:

  • 的xmlns:UmbracoHelper = “瓮:UmbracoHelper”
  • exclude-result-prefixes“UmbracoHelper”

但现在我想调用下面的函数:

<xsl:for-each select="$GalleryImages/nodeId">
<xsl:variable name="myNode" select="UmbracoHelper:GetNode(.)"/>
</xsl:for-each>

我遇到了这个错误:

无法找到与命名空间'urn:UmbracoHelper'关联的脚本或扩展程序对象。

我在这里错过了什么?

2 个答案:

答案 0 :(得分:2)

简而言之:编写代码并构建(UmbracoHelper)。将程序集添加到bin文件夹。确保在xsltextensions.config中添加对程序集的引用。然后通过您的XSLT中的urn引用。

请参阅:http://www.nibble.be/?p=60

答案 1 :(得分:1)

实际上,虽然Jonathan的回答是正确的,但该方法略有弃用。

更简单的方法是在解决方案中添加对umbraco.dll的引用。然后,您可以使用[RestExtension("TestAlias")] [XsltExtension]属性装饰您的课程,如here所示。然后,您可以将.cs文件放在App_Data文件夹中,或者将其编译并将dll文件放在Umbraco安装的bin目录中。这种方法的优点是它不需要自己编辑配置文件。