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
是否可以添加重定向逻辑?
修改
另外值得一提的是,我希望在页面编辑器中进行此交互。
答案 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。