4
保存Sitecore項目時我試圖顯示一個彈出窗口與用戶交互。根據他們改變的數據,我可能會顯示一系列1或2個彈出窗口,詢問他們是否要繼續。我已經想出瞭如何使用OnItemSaving管道。這很簡單。我無法弄清楚的是如何顯示彈出窗口並對用戶輸入做出反應。現在我想我應該以某種方式使用Sitecore.Context.ClientPage.ClientResponse對象。以下是一些代碼,顯示了我正在嘗試執行的操作:如何在保存Sitecore項目時顯示彈出窗口?
public class MyCustomEventProcessor
{
public void OnItemSaving(object sender, EventArgs args)
{
if([field criteria goes here])
{
Sitecore.Context.ClientPage.ClientResponse.YesNoCancel("Are you sure you want to continue?", "500", "200");
[Based on results from the YesNoCancel then potentially cancel the Item Save or show them another dialog]
}
}
}
我應該使用其他方法嗎?我看到還有ShowModalDialog和ShowPopUp以及ShowQuestion等等,我似乎無法找到關於這些的任何文檔。此外,我甚至不確定這是否是正確的方式來做這樣的事情。
感謝這麼多的工作!現在還有一個問題。如果不是簡單的Yes,No,Cancel,我想顯示一個更復雜的彈出窗口,詢問用戶一系列問題。根據第一個問題的答案,我可以完全取消保存,或者我可以繼續保存,然後運行一些自定義代碼,然後詢問他們第二個問題。根據第二個問題的答案,我將運行一些更多的自定義代碼,然後完全關閉彈出窗口。我會使用SheerResponse.ShowPopup方法嗎? – 2013-05-01 18:16:37