AJAX AsynchFileUpload停止上传过程

时间:2012-02-09 15:48:26

标签: asp.net ajax validation asyncfileupload

ASP.net网站使用AJAX AsyncFileUpload

Hello Experts,

在我的网页中,我只有两个控件,一个是用户输入模板名称的文本框,第二个是AJAX AsyncFileUpload。

当用户点击我的AsynchFileUpload控件的“浏览”按钮并选择一个文件时,我正在使用“OnClientUploadStarted”事件验证文本框中的“空字段”。 如果文本框为空,我想停止AJAX控件的上传过程。

经过一番研究后,我在这个论坛中找到了一个链接,用户在处理“OnClientUploadStarted”事件的函数中实现了 sender._stopLoad()方法。应用相同的逻辑后,该函数会停止加载过程,但我从浏览器中收到以下警告框:

未处理的异常:无法调用未定义的方法'split'

我的代码中没有使用split方法。从AJAX asynchfileupload使用_loadStop()方法时出现此错误。这是我正在使用的代码:

用于处理事件的JavaScript函数:

function FileUpload_BeforeUpload(sender, args) {
   if ($get('<%=TemplateNameTextBox.ClientID%>').value == "") {
       sender._stopLoad();
   }
}

HTML:

<asp:TableRow>
   <asp:TableCell>Template Name:</asp:TableCell>
   <asp:TableCell>
      <asp:TextBox runat="server" ID="TemplateNameTextBox" Width="250px"></asp:TextBox>
   </asp:TableCell>
   <asp:TableCell>
       <asp:AsyncFileUpload runat="server" ID="AsyncFileUpload1"      
                OnClientUploadStarted="FileUpload_BeforeUpload"/>  
   </asp:TableCell>
</asp:TableRow>

我已经在所有主流浏览器(IE,Firefox和Chrome)中测试了我的代码,我得到了相同的错误消息。你们有没遇到过这个问题?如果是的话,你是如何解决它的?

感谢您的帮助。

YPC。

1 个答案:

答案 0 :(得分:1)

显示你的消息,因为我有同样的问题,我修复的方法是将正确的客户端事件添加到ajaxToolkit:AsyncFileUpload控件:OnClientUploadError="UploadError"并在JS代码中捕获事件:

var ifIgnoreError;

function UploadError(sender, e) {
  if (ifIgnoreError) {
    alert("Wrong file type");
  } else {
    alert(e.get_message());
  } 
}

祝你好运。