AJAX 如果父自定义控件更改可见性,AjaxFileUpload 控件将无法工作

AJAX AjaxFileUpload control not working if parent Custom Control changes visibility

花了几天时间试图找出为什么我的 ajaxFileUpload 控件没有触发 UploadComplete 事件,并最终发现了它的来源。

每当我尝试使用上传器时,我都会收到一个奇怪的 JS JSON 错误,即 'ungooglable'。

无论如何,通过大量测试发现错误的发生是因为父用户控件 (.ascx) 默认具有 属性 Visible=false。

父用户控件基本上是一个 ajax 模式,其中包含一个表单 + 文件上传器。

当用户单击按钮显示我设置的 visible=true 的表单时,然后显示模式。

这是好的做法吗?并且由于 ajaxfileupload 在我使用加载用户控件的技术时似乎出现故障,是否有另一种方法可以解决此问题而无需在加载父页面时加载表单?

感谢您的帮助!

如果我正确理解您的场景,这是可以接受的做法。

当您尝试使用 Ajax 加载任何内容时会发生什么 FileUpload 已完成 control lifecycle

如果控件出于任何原因不可见,则不会调用包含用于完成上传的重要代码的 OnPreRender 方法。

我想说,许多 Ajax Control Toolkit 控件,包括 AjaxFileUpload,根本不是为涉及任何可见性修改的场景设计的。