7

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

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

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

4

6 回答 6

15

确保 web.config 中应该存在以下内容。

<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>
于 2013-06-07T10:18:42.473 回答
5

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

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

在你的

<system.web>

您的 web.config 的部分

于 2013-05-29T12:47:32.163 回答
3

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

<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit" preCondition="integratedMode"/>
于 2014-07-08T20:06:31.450 回答
1

切换到4.5后有同样的问题。直到我添加了完整的组件名称,建议的解决方案才起作用:

<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?)不会选择正确的!?

于 2013-09-17T14:15:53.387 回答
1

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

<location path="AjaxFileUploadHandler.axd">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>
于 2016-06-30T14:03:56.923 回答
0

如果即使在@sridharnetha 所说的更改之后仍有人面临这个问题,请尝试包括以下几行。

添加 UseAbsoluteHandlerPath ="false" 很重要

        <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>                            
于 2018-02-15T08:42:33.893 回答