Sitecore: Redirect saat menyimpan acara

Kemungkinan duplikat Pemroses sitecore saveUI yang mengalihkan ke halaman item setelah dipindahkan itu , tapi karena belum terselesaikan saya akan membuat entri.

Kami ingin mengubah judul dan URL setiap kali kami mengubah judul artikel. Kami telah membuat prosesor khusus di dalam "SaveUI" yang mengubah nama item sesuai dengan judul utama artikel. Namun ketika kami menyimpan item dan halaman dimuat ulang, kami mendapatkan kesalahan 404. Kami ingin membuat pengalihan ke URL baru dari item yang diperbarui.

Di dalam prosesor khusus:

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

Ini melempar: A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll

Apakah ada tempat lain di mana logika pengalihan dapat ditambahkan?

Edit

Perlu juga disebutkan bahwa saya ingin interaksi ini terjadi di Editor Halaman.


person CosX    schedule 26.08.2014    source sumber


Jawaban (1)


Anda perlu mengirim pesan item:load ke klien untuk memintanya memuat item:

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)

Anda mungkin harus mengirim ClientResponse.Timer(), bukan SendMessage(), untuk menambah sedikit penundaan. Anda dapat membaca informasi lebih lanjut di postingan ini oleh John West: Muat atau Muat Ulang Item di Sitecore ASP.Net CMS.

person jammykam    schedule 26.08.2014
comment
Terima kasih atas jawaban Anda. Sayangnya hal ini tampaknya tidak berhasil. Reload default masih terjadi. Bahkan dengan metode Timer(). Saya menunda 1000. Tautan ke artikel John West juga sudah mati. - person CosX; 26.08.2014