0

ASP.net 网站使用 AJAX AsyncFileUpload

您好专家,

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

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

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

未处理的异常:无法调用未定义的方法“拆分”

我的代码中没有使用拆分方法。使用 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。

4

1 回答 1

1

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

var ifIgnoreError;

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

祝你好运。

于 2012-05-10T11:51:10.133 回答