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,根本不是为涉及任何可见性修改的场景设计的。
花了几天时间试图找出为什么我的 ajaxFileUpload 控件没有触发 UploadComplete 事件,并最终发现了它的来源。
每当我尝试使用上传器时,我都会收到一个奇怪的 JS JSON 错误,即 'ungooglable'。
无论如何,通过大量测试发现错误的发生是因为父用户控件 (.ascx) 默认具有 属性 Visible=false。
父用户控件基本上是一个 ajax 模式,其中包含一个表单 + 文件上传器。
当用户单击按钮显示我设置的 visible=true 的表单时,然后显示模式。
这是好的做法吗?并且由于 ajaxfileupload 在我使用加载用户控件的技术时似乎出现故障,是否有另一种方法可以解决此问题而无需在加载父页面时加载表单?
感谢您的帮助!
如果我正确理解您的场景,这是可以接受的做法。
当您尝试使用 Ajax 加载任何内容时会发生什么 FileUpload 已完成 control lifecycle。
如果控件出于任何原因不可见,则不会调用包含用于完成上传的重要代码的 OnPreRender 方法。
我想说,许多 Ajax Control Toolkit 控件,包括 AjaxFileUpload,根本不是为涉及任何可见性修改的场景设计的。