从Sitecore中的Xslt helper函数类修改页面控件

从Sitecore中的Xslt helper函数类修改页面控件,xslt,sitecore,Xslt,Sitecore,在xslt呈现中,我调用以下命令 <xsl:value-of select="di:inject()"/> 但是标题没有得到更新?为什么会这样?有没有其他方法可以达到同样的效果 EDIT:我们最终扩展了XslRender模板并将依赖项存储在那里,然后可以通过覆盖renderLayout管道中的InsertRenderings类来获取依赖项并将其添加到会话中。然后,可以在布局中的Page_Load上访问会话对象,这可以访问页面的标题。我怀疑,在呈现XSL呈现时,向标题部分添加任何内容

在xslt呈现中,我调用以下命令

<xsl:value-of select="di:inject()"/>
但是标题没有得到更新?为什么会这样?有没有其他方法可以达到同样的效果


EDIT:我们最终扩展了XslRender模板并将依赖项存储在那里,然后可以通过覆盖renderLayout管道中的InsertRenderings类来获取依赖项并将其添加到会话中。然后,可以在布局中的Page_Load上访问会话对象,这可以访问页面的标题。

我怀疑,在呈现XSL呈现时,向标题部分添加任何内容都为时已晚。而且,唯一的选择可能是切换到子布局,并在页面加载或其他方式中执行此操作


无法证明我的答案——这只是直觉。这就是为什么+1添加到问题并添加到收藏夹;-)

您最好将所有类放在一个静态CSS文件中。HTTP请求和CPU负载的额外开销使得很难证明从动态加载CSS中获得的好处

看起来您正在尝试使用自定义扩展方法扩展渲染的默认行为。这可能是重构为子布局的一个很好的候选方法。@Arnold是的,它基本上是一种从呈现中添加css和javascript依赖项的方法。在大多数情况下,xslt呈现是最简单的选择,但我并不想为所有演示组件创建子布局。虽然我同意尽可能少地提供请求,但我们通过将依赖项合并到一个文件中来实现这一点,仅当组合文件中的一个文件的修改时间比组合文件的修改时间晚时,才会更新该文件。在团队中使用模块化css文件要容易得多