我正在使用ajaxcontroltoolkit而且我遇到了一个问题。这是我的代码
<div id="DragDrop" style="margin: 20px auto 20px auto; width: 50%;"center">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server" Width="70%"
style="margin:0px auto; min-width:300px;"
onuploadcompleteall="AjaxFileUpload1_UploadCompleteAll"
onuploadcomplete="AjaxFileUpload1_UploadComplete" />
<div id="TextUpload" align="center" style="margin: 0px auto 0px auto">
Text/Url Upload:<asp:TextBox id="Text" runat="server">
</asp:TextBox>
</div>
</div>
当我上传我的文件时,我得到了红色错误标题,我的ajaxfileuploadcomplete和我的ajaxfileuploadallcomplete都没有。我在google上搜索了这个,我发现没有一个修复适用于这种情况。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using AjaxControlToolkit;
public partial class Default : FindLocation
{
Guid? CanisterID = null;
Guid? FileID = null;
string path = "";
string name;
string type;
int size;
protected void Page_Load(object sender, EventArgs e)
{
path = Find();
}
protected void AjaxFileUpload1_UploadCompleteAll(object sender, AjaxControlToolkit.AjaxFileUploadCompleteAllEventArgs e)
{
throw new Exception();
}
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
throw new Exception();
// Generate file path
string filePath = "~/Images/" + e.FileName;
// Save upload file to the file system
ajaxUpload1.SaveAs(MapPath(filePath));
name = e.FileName;
type = e.ContentType;
size = e.FileSize;
AjaxFileUpload1.SaveAs(MapPath(path));
DataClassesDataContext db = new DataClassesDataContext();
}
}
我将这些添加到我的web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>
我把它放在页面顶部
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
此页面上我也没有任何查询字符串。知道什么是错的吗? ![这是错误的图片] [1]
答案 0 :(得分:0)
问题很可能是由于您正在上传文件,该文件的大小超过了允许的4 MB文件。您可以通过将MaxRequestLength web.config属性设置为更大的值来增加.NET的默认值。有关详细信息,请参阅这些文章:Maximum value of maxRequestLength?和While uploading large files getting error
答案 1 :(得分:0)
为了您的方便,我创建了一个示例网站,演示如何通过https://onedrive.live.com/?cid=f8992524aeae67e6&id=F8992524AEAE67E6%21107&authkey=上传文件! web.config取自默认的AjaxToolkit演示项目。
您可以在以下视频中查看解决方案的工作原理:http://screencast.com/t/fF4N6MeGc70c
祝你好运, 瘤胃