我目前正在尝试在Sitecore的Save uiUpload管道流程中显示SheerResponse.YesNoCancel()
对话框。当我进行该调用时会出现问题并且它会抛出NullException
。我觉得这很奇怪所以我开始从Sitecore的DLL复制代码并将其添加到我的解决方案中。之后,我发现如果属性OutputEnable
为false,则返回ClientCommand
NULL
,当它尝试向其添加控件时,将显示Exception。所以修复我能够完成该方法的执行。无论如何我仍然无法显示对话框。所以问题是:我可以从Sitecore uiUpload管道中显示一个Dialog吗?
答案 0 :(得分:1)
您是否尝试使用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();
之后中止管道,不知道这是否会帮助你的情况
答案 1 :(得分:0)
不,你不能。来自http://sdn.sitecore.net/Articles/Media/Prevent%20Files%20from%20Uploading.aspx:
uiUpload管道不是作为Sheer事件的一部分运行,而是作为表单加载过程的一部分来响应回发。这是因为上传的文件仅在“真实”回发期间可用,而不是在纯粹的UI事件期间。从这个意义上讲,uiUpload管道并未设计为提供UI。
该页面是为v5.1和5.2编写的,但我很确定它仍然适用。该页面声称您可以像Ahmed建议的那样向页面发出javascript,但是当我尝试它时它不起作用。