Sitecore:重定向保存事件

时间:2014-08-26 10:08:42

标签: vb.net redirect sitecore sitecore7

Sitecore saveUI processor redirecting to item page after moving it可能重复,但由于未解决,我将进行输入。

我们希望每次更改文章标题时都更改标题和网址。我们在内部创建了一个自定义处理器" SaveUI"根据文章的主标题更改项目名称。但是,当我们保存项目并重新加载页面时,我们会收到404错误。我们想要创建一个重定向到更新项的新URL。

自定义处理器内部:

Dim database = Sitecore.Context.ContentDatabase
Dim itm = database.GetItem(updatedItem.ID)
Dim url = LinkManager.GetItemUrl(itm).Replace("/sitecore/shell/Home", "")
Sitecore.Web.WebUtil.Redirect(url, False) 'Our url is correct

这引发: A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll

是否可以添加重定向逻辑?

修改

另外值得一提的是,我希望在页面编辑器中进行此交互。

1 个答案:

答案 0 :(得分:0)

您需要向客户端发送item:load消息,告诉它加载项目:

Dim database = Sitecore.Context.ContentDatabase
Dim itm = database.GetItem(updatedItem.ID)

Dim load = String.Format("item:load(id={0},language={1},version={2})", itm.ID, itm.Language, itm.Version)
Sitecore.Context.ClientPage.SendMessage(this, load)

您可能需要发送ClientResponse.Timer()而不是SendMessage()才能稍加延迟。您可以阅读John West的这篇文章的更多信息:Load or Reload an Item in the Sitecore ASP.Net CMS