AjaxControlToolkit:错误提升上传完成事件并开始新上传

时间:2013-05-29 12:47:32

标签: asp.net ajaxcontroltoolkit

使用2013年4月的AjaxControlToolkit时收到错误:

  

0x800a139e - JavaScript运行时错误:错误提升上传完成事件并开始新上传

尝试使用AjaxFileUpload控件上传文件时。

6 个答案:

答案 0 :(得分:14)

确保web.config中存在以下内容。 这是更新后的通知http://ajaxcontroltoolkit-7-0123-breaks-vs20.15851857.ccqq.net/

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" maxRequestLength="42949672" />
    <httpHandlers>
      <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
    </httpHandlers>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
    </handlers>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="4294967295"/>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

答案 1 :(得分:5)

要解决此错误,您需要添加此

<httpHandlers>
  <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>

中的

<system.web>
web.config的

部分

答案 2 :(得分:3)

如果您的应用程序池设置为经典,那么除非您使用precondition =“integratedMode”添加到httphandler for system.webserver

,否则会发生这种情况
<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" preCondition="integratedMode"/>

答案 3 :(得分:1)

切换到4.5后出现同样的问题。在我添加完整的assemply名称之前,建议的解决方案无效:

<httpHandlers>
  <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit, Version=4.5.7.725, Culture=neutral, PublicKeyToken=28F01B0E84B6D53E" />
</httpHandlers> 

事实证明,如果你在“旧”gac中有3.5版本,而在新的Microsoft.net / assembly gac中有4.5版,你的webapp(IIS?)将不会选择正确的版本!?

答案 4 :(得分:0)

由于我的应用程序使用表单身份验证,因此我将此添加到我的web.config中,以便使ajaxfileupload正常工作:

<location path="AjaxFileUploadHandler.axd">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

答案 5 :(得分:0)

如果有人在@sridharnetha所说的更改后仍然面临问题,请尝试包含以下行。

重要的是添加UseAbsoluteHandlerPath =&#34; false&#34;

        <ajax:AjaxFileUpload ID="AjaxFileUpload11" runat="server" 
       MaximumNumberOfFiles="3" AllowedFileTypes="txt,xls,xlsx,doc,docx,pdf" 
        Width="400px" UseAbsoluteHandlerPath ="false"
                                    OnUploadComplete="OnUploadComplete" 
    OnClientUploadStart="UploadStart" 
       OnClientUploadCompleteAll="UploadComplete" 
      ClearFileListAfterUpload="true" 
      OnClientUploadError="UploadError"/>

在Web.config中

  <httpHandlers>
  <add verb="*" path="http://localhost/AjaxFileUploadHandler.axd" 
 type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" />

 </httpHandlers>