0

AJAX AsyncFileUpload を使用した ASP.net Web サイト

エキスパートの皆様、こんにちは。

私の Web ページには 2 つのコントロールしかありません。1 つはユーザーがテンプレート名を入力するためのテキスト ボックスで、もう 1 つは AJAX AsyncFileUpload です。

ユーザーが AsynchFileUpload コントロールの [参照] ボタンをクリックしてファイルを選択すると、「OnClientUploadStarted」イベントを使用して「空のフィールド」のテキスト ボックスが検証されます。テキストボックスが空の場合、AJAX コントロールのアップロード プロセスを停止したい。

いくつかの調査の後、このフォーラムで、ユーザーが「OnClientUploadStarted」イベントを処理する関数内にsender._stopLoad()メソッドを実装するリンクを見つけました。同じロジックを適用した後、関数は読み込みプロセスを停止しますが、ブラウザーから次のアラート ボックスが表示されます。

未処理の例外: 未定義のメソッド '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。

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 に答える