其他分享
首页 > 其他分享> > 当组件在其他选项卡中时,AsyncFileUpload在AjaxControlToolkit中出现逻辑错误,因此不显示

当组件在其他选项卡中时,AsyncFileUpload在AjaxControlToolkit中出现逻辑错误,因此不显示

作者:互联网

我使用的是11月版的AjaxControlToolkit,但发现了逻辑错误,但是我试图找出在周六之前解决此问题的最佳方法,以便该程序可以在IE上运行.

此问题仅在IE上有错误,它在Firefox3.5上有效.

我在选项卡上有一个AsyncFileUpload组件,该组件在运行时似乎不可见,因此偏移宽度为零.

问题出在文件_app_onload中的文件AsyncFileUpload.pre.js中,并且以下行:
this._innerTB.style.width =(this._inputFile.offsetWidth-107)“ px”;

我不想从源代码进行编译,但这可能最终是我最好的选择,因此我可以修复该错误.

但是,这可能将是我的解决办法:
this._innerTB.style.width =(((this._inputFile.offsetWidth == 0)?200:this._inputFile.offsetWidth)-107)“ px”;

但是,我不知道是否有更好的解决方案.

我可以在javascript类中编写一个新的原型函数,然后修复逻辑错误,这比重新编译要好.如果我在代码中修复了它,那么每当我进行更新时,都需要继续替换该行,直到它在代码库中得到修复.

但是,我试图找出某个元素是否有办法知道它刚刚变得可见,因为任何时候只要您需要知道元素的实际宽度,就无法真正设置它直到显示出来.我想不出一种方法来知道这一点,所以我倾向于在第一次选择选项卡时修复选项卡上的元素,但是对于通用库而言,这是不可能的解决方案.

主要问题的位置

因此,在我发送有关此问题的错误报告之前,我很好奇是否有更好的方法来完成此工作,而不是在页面加载完毕后再完成,并假定最小宽度可能是错误的. <-问题位于此处 我正在使用以下代码来创建元素:

                   <cc1:AsyncFileUpload ID="AsyncFileUpload1" runat="server" 
                        OnClientUploadError="uploadError" OnClientUploadStarted="StartUpload" 
                        OnClientUploadComplete="UploadComplete" 
                        CompleteBackColor="Lime" UploaderStyle="Modern" Width="400px"
                        ErrorBackColor="Red" ThrobberID="Throbber"  
                        onuploadedcomplete="AsyncFileUpload1_UploadedComplete" 
                        UploadingBackColor="#66CCFF" />

如果有什么不同,我正在使用它,因为ToolkitScriptManager似乎引入了其他错误,但这可能是我的错误:

<ajax:AjaxScriptManager ID="scriptmanager1" runat="server" EnablePartialRendering="true" ></ajax:AjaxScriptManager>

我不确定LoadScriptsBeforeUI是否有用,但我相信我希望在实际加载脚本之前完成UI.

我发现有趣的是,当dom树完成时,我设置的宽度实际上并未设置.

解决方法:

尝试将此属性添加到您的scriptmanager

LoadScriptsBeforeUI =“ true”

我已经下载了源代码并修复了代码行,但仍然无法正常工作,
然后我将此属性添加到脚本管理器中,它可以正常工作!

如果您想更改源代码,请检查此页面以了解详细信息
http://ajaxcontroltoolkit.codeplex.com/SourceControl/network/Forks/keyoke/AyncFileUploadFix/changeset/changes/30da4b8d1c6d

标签:ajaxcontroltoolkit,javascript
来源: https://codeday.me/bug/20191106/2001674.html