【发布时间】:2017-02-13 20:09:47
【问题描述】:
我正在使用 Visual Studio 2013 和 AjaxControlToolkit v15.0 开发简单的拖放多个文件上传器。我有 AjaxFileUpload 控件,但我注意到只有一个文件显示为上传到浏览器上
另外,我看到 OnUploadComplete 事件没有触发。我通过在事件中插入警报来测试事件,并且它没有运行,上传的文件也没有显示在项目或数据库表中。
这是我的代码:
.aspx 文件
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div align="center">
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" MaximumNumberOfFiles="10" OnUploadComplete="File_Upload" Width="500px" Mode="Auto" />
</div>
</form>
.aspx.cs 文件
protected void File_Upload(object sender, AjaxFileUploadEventArgs e)
{
SqlConnection con = new SqlConnection(abc);
try {
string filename = Path.GetFileName(e.FileName);
string strDestPath = Server.MapPath("~/Documents/");
SqlCommand cmd = new SqlCommand("INSERT INTO upload (name, path) VALUES(@FileName, @FilePath)");
cmd.Parameters.AddWithValue("@FileName", filename);
cmd.Parameters.AddWithValue("@FilePath", "Documents/" + filename);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
//Save file to project
AjaxFileUpload1.SaveAs(@strDestPath + filename);
}
catch (Exception er)
{
Response.Write("<script language='javascript'> alert(' problem');</script>");
}
finally { con.Close(); }
}
web.config
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<httpHandlers>
<add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</handlers>
</system.webServer>
有什么办法吗?
【问题讨论】:
-
尝试 OnClientUploadComplete 事件。
-
OnClientUploadComlete 事件没有解决问题:(