dialog - 从 Sitecore uiUpload管道进程打开一个对话框

  显示原文与译文双语对照的内容

我目前正在试图在保存 SheerResponse.YesNoCancel()的uiUpload管道进程中显示一个对话框。 当我执行那个调用并抛出一个 NullException 时出现问题。 我觉得很奇怪,所以我开始从sitecore的DLL中复制代码并将它的添加到我的解决方案中。 之后,我发现如果属性 OutputEnable 是 false,它返回一个 ClientCommand,当它试图向它添加一个控件时,异常就会出现。 所以修复了我就能完成这个方法的执行。 无论如何我仍然无法显示对话框。 所以问题是:我可以从 Sitecore uiUpload管道显示一个对话框?

时间: 作者:

不可以从 http://sdn.sitecore.net/Articles/Media/Prevent%20Files%20from%20Uploading.aspx:

uiUpload管道不作为纯事件的一部分运行,但作为响应后台的表单加载过程的一部分。 这是因为上传的文件只在"真实"发布期间可以用,而不是在一个简单的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(); 之后终止管道,不确定这是否有助于你的案例。

作者:
...