Episerver - 页面类型变为无在拦截PublishedContent事件时可编辑

时间:2018-04-16 13:34:51

标签: c# episerver episerver-7 episerver-8

我正在使用Episerver中的PublishedContent事件,因此当用户发布特定页面类型时,会执行某些逻辑(创建pdf)并将字符串值保存到其中一个属性中。(pdf的路径) )

这样做有效,PDF已创建,PDF的路径也已保存。

然而我遇到的问题是在发布完成后,所有属性都变为readonly,我必须单击另一个节点,然后再单击那个节点再进行编辑。 - 这是正常的,还是与我保存的方式有关?

这是我的代码:

<td style="width: 100px; height: 25px">
<asp:CheckBox ID="Test" Text="Testing" style="margin-bottom: 2px;"></asp:CheckBox>
</td>

这就是保存后UI中所有属性的样子。

enter image description here

如果我单击树中的另一个节点,然后再次单击该节点,它将恢复正常并正确保存所有数据。

2 个答案:

答案 0 :(得分:2)

我没有意识到我被错误的方法所吸引,从

改变了
events.PublishedContent = 

events.PublishingContent = 

它完美无缺。

我从Episerver世界获得的解释:

您的代码会发布新版本的内容(请查看版本小工具以确认此内容)。这意味着您不再查看主草稿,因此UI会使其成为只读。您可以访问应该停止此行为的发布活动,或者不要在Save方法中发布新版本的内容。

答案 1 :(得分:0)

如果要在PublisherContent事件上保存克隆的属性数据,则必须应用 SaveAction.Patch 而不是 SaveAction.Save

contentRepository.Save(clone, SaveAction.Patch);