0

ユーザーがメールに添付ファイルを追加できるページがあります。クリックして添付ファイルのアップロードを開始すると、JavaScript を少し実行してラベルを設定します (たとえば、「ファイル 1/4 をアップロードしています」)。

アップロードを処理するコードは次のとおりです。各ファイルが保存されるたびに、ブラウザーのラベルを更新して、(たとえば)「ファイル 1 がアップロードされました。ファイル 2/4' をアップロードしています。等。

ファイルが更新されたときにブラウザに通知するには、どのような手法を使用できますか? プログレスバーは必要ありません。

HttpFileCollection hfc = Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0)
    {
    hpf.SaveAs(path + ReturnValue.ToString() + "\\" + Path.GetFileName(hpf.FileName));
    //This is where I want to update the browser so the user is informed as each file is uploaded
    }
}

私は Response.Write を使って書き込んでみ<script type="text/javascript">alert('File 1 uploaded')</script>ました。しかし、うまくいきません。

関数を呼び出すために使用しようとしScriptManager.RegisterStartUpScriptましたが、うまくいきませんでした。

4

1 に答える 1

1

これに対する通常のアプローチは、AJAX を使用してサーバー側で Web メソッドをポーリングすることです。これは、現在のデータを返すメソッドです。

これに関する 1 つの問題は、サーバーがセッション同期を使用している可能性があるため、セッションレス Web メソッドを使用する必要があることです。

于 2012-09-18T20:16:34.687 に答える