10

我正在使用 Tridion 2011 SP1 和 Razor 模板,但在通过用户界面 2012 创建页面和插入内容时遇到问题。当我尝试这样做时,我的 Razor 助手、命名空间和程序集出现在 Tridion.ContentManager.config 文件中不要被包括在内。

我尝试直接在 razor 模板中添加对助手的引用,一切正常,但我不想在每个 Razor 模板中都这样做。

当我尝试通过 UI 创建页面时,出现以下 Razor 错误:

TemplateCompileException: CS0103: The name 'GetBreadcrumbStatus' does not exist 
in the current context Line 64 Column 21: if(GetBreadcrumbStatus())

我的 Tridion.ContentManager.config 文件包含 Razor 调解器的以下内容:

<razor.mediator cacheTime="600" extractBinaries="true">
 <namespaces>
  <add namespace="Tridion.Extensions.Mediators.Razor.Models" /> 
  <add namespace="System.Linq" />
 </namespaces>
 <imports>
  <add import="C:\Program Files (x86)\Tridion\Razor Mediator\Helpers\GeneralHelper.cshtml" />
 </imports>
</razor.mediator>

关于为什么 UI 不包含帮助程序和命名空间的任何想法,除非在 Razor 模板中直接引用?

提前致谢。

4

1 回答 1

9

会话预览机制的一些背景知识

新的 UI 为其会话预览机制使用了一种特殊类型的发布者,该机制优化了发布过程,以获得人们在这种环境中所期望的“近乎实时”的行为。优化的发布者通过跳过某些步骤来实现这一点,其中之一是减少解析过程(因此发布的项目更少)并且不调用自定义解析器。

关于你的问题

创建新页面时是否调用了 Razor 模板?

于 2012-08-02T11:07:21.287 回答