Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET AJAX控件工具包文件上载_C#_Jquery_Asp.net_Ajax_Vb.net - Fatal编程技术网

C# ASP.NET AJAX控件工具包文件上载

C# ASP.NET AJAX控件工具包文件上载,c#,jquery,asp.net,ajax,vb.net,C#,Jquery,Asp.net,Ajax,Vb.net,我在实现ajax控件工具包文件上传时遇到了一些困难。这就是我接下来要讲的,下面是我的代码。我很抱歉使用VB,我是被迫的。如果您知道C#解决方案,请提供它,我将转换代码。多谢各位 <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm2.aspx.vb" Inherits="AMS.WebForm2" %> <%@ Register Assembly="AjaxControlToolkit" Name

我在实现ajax控件工具包文件上传时遇到了一些困难。这就是我接下来要讲的,下面是我的代码。我很抱歉使用VB,我是被迫的。如果您知道C#解决方案,请提供它,我将转换代码。多谢各位

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm2.aspx.vb" Inherits="AMS.WebForm2" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>

<form id="form1" runat="server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />

    <asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" />
    <asp:Image ID="loader" runat="server"
        ImageUrl="~/loading.gif" Style="display: None" />
</form>
</body>
</html>


您的UploadComplete方法将永远不会被调用,因为它永远不会被处理。添加控件的UploadComplete事件,如下所示:

Protected Sub UploadComplete(sender As Object, e As AjaxControlToolkit.AjaxFileUploadEventArgs) Handles AjaxFileUpload1.UploadComplete
    Dim path As String = Server.MapPath("Files/") + e.FileName
    AjaxFileUpload1.SaveAs(path)
End Sub
由于文件上载控件此时仅将文件保存到临时位置,因为您的处理程序从未被调用,因此我相信您遇到的错误与未设置HTTP处理程序有关。否则,请指定错误

直接从ajaxtoolkit网站上的示例:

AjaxFileUpload控件使用名为 AjaxFileUploadHandler.axd此处理程序的类型为 AjaxControlToolkit.AjaxFileUploadHandler。必须将此处理程序添加到 您的Web.Config文件以使AjaxFileUpload控件正常工作

以下是您必须添加的Web.Config配置:

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


您必须在web.config中添加以下内容才能使其正常工作

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

....

谢谢,它成功了。您知道如何捕获该文件的字节以便将其作为二进制文件存储在数据库中吗?
<validation validateIntegratedModeConfiguration="false" />
<handlers>
    <add name="AjaxFileUploadHandler" verb="*" 
      path="AjaxFileUploadHandler.axd"
      type="AjaxControlToolkit.AjaxFileUploadHandler, 
      AjaxControlToolkit"/>
</handlers>
<system.web>
    ....
    <httpHandlers>
        <add verb="*" path="AjaxFileUploadHandler.axd"
          type="AjaxControlToolkit.AjaxFileUploadHandler, 
          AjaxControlToolkit"/>
    </httpHandlers>
</system.web>