我正在嘗試在Sitecore的Save uiUpload管道進程中顯示一個SheerResponse.YesNoCancel()
對話框。問題出現在我打這個電話時,它會拋出一個NullException
。我認爲這很奇怪,所以我開始從Sitecore的DLL複製代碼並將其添加到我的解決方案中。之後,我發現如果OutputEnable
屬性爲false,則返回ClientCommand
即NULL
,並且當它試圖向其添加控件時,會出現Exception。因此修復了我能夠完成該方法的執行。無論如何,我仍然無法顯示對話框。所以問題是:我可以從Sitecore uiUpload管道顯示對話框嗎?從Sitecore uiUpload管道進程打開一個對話框
回答
不,你不能。從http://sdn.sitecore.net/Articles/Media/Prevent%20Files%20from%20Uploading.aspx:
uiUpload管道不是作爲Sheer事件的一部分運行,而是作爲響應回發的表單加載過程的一部分運行。這是因爲上傳的文件只能在「真實」回傳期間使用,而不能在Sheer UI事件期間使用。在這個意義上,uiUpload管道並沒有被設計爲提供UI。
該頁面是爲v5.1和5.2編寫的,但我很肯定它仍然適用。該頁面聲稱,您可以像Ahmed建議的那樣將JavaScript發送到頁面,但是當我嘗試它時,它不起作用。
您是否嘗試過使用Sitecore.Context.ClientPage.ClientResponse.YesNoCancel()
,我做了類似於您正在嘗試做的事情,但我使用了Alert()
,對我工作得很好。
更新:其實uiUpload管道內你不能調用這個方法,但是你可以做的是使用HttpContext.Current.Response.Write("<html><head><script type=\"text/Javascript\">[Your Java Script</script></head></html>")
,您將需要此args.AbortPipeline();
後中止管道,不知道這是否會幫助你的情況還是不
是的,我已經試過用'警報()'和'ShowModalDialog的()'但仍沒有運氣。我也試過'Sitecore.Context.ClientPage.ClientResponse.YesNoCancel()',但沒有奏效。事實上,SheerResponse方法在其中調用了「Sitecore.Context.ClientPage.ClientResponse」方法。 –
也試過,但沒有工作。謝謝! –
- 1. 在管道的第二個進程中打開一個shell
- 2. 打開多個對話框
- 3. 從對話框打開的c#對話框關閉整個鏈
- 4. 純JavaScript和打開一個對話框
- 5. 打開在一個jQuery對話框
- 6. 如何打開一個jQuery對話框
- 7. 打開一個對話框autocloses面板
- 8. MenuBar打開一個對話框?
- 9. 關閉對話框並打開另一個對話框
- 10. JQuery對話框可以打開另一個JQuery對話框嗎?
- 11. ListView打開一個對話框(或提示對話框)
- 12. 對話框打開另一個對話框
- 13. 打開另一個UI對話框從媒體鏈接打開一個
- 14. Jquery Datatable對話框 - 對話框僅打開第一個對話框
- 15. 打開對話框
- 16. 滾動到最後一行jQuery對話框中打開對話框打開
- 17. 從qt中的對話框打開新對話框
- 18. 從jquery-ui對話框打開nyromodal在對話框後面
- 19. 用jquery打開對話框
- 20. 打開文件對話框結果正在被另一個進程使用
- 21. jQuery UI對話框打開
- 22. jquery對話框 - 頁面上的多個對話框,一次只打開一個對話框
- 23. 如何打開一個對話框(模式)從C#
- 24. 從地圖疊加對話框中打開另一個活動
- 25. Fire OnClick並從asp ImageButton打開一個對話框
- 26. 打開一個jQuery對話框從主窗口的IFRAME
- 27. 編程方式打開一個對話框,在jQuery Mobile的
- 28. 使用$對話框多次打開同一對話框
- 29. 爲什麼對話框第一次打開我的對話框?
- 30. 打開/關閉對話框
是的,這正是發生的事情。我最終修改了在選擇要上傳的文件後調用的javascript'MediaFolder.js'。非常感謝! –