誰かが応答してくれることを願っています。asyncfileuploadコントロールを含む更新パネル(条件付き更新に設定)を備えたコントロールがあります。コントロールは最初は正常に機能しますが、ファイルをアップロードしてからその更新パネルを更新すると、asyncfileupload.UploadedFileErrorが発生し、ファイルまたはasyncFileUpload.UploadedCompleteが呼び出されることはありません。コントロールを作成する方法は次のとおりです。
Public Class FileUpload
Inherits ScriptControl
Implements INamingContainer, IPostBackEventHandler
Private WithEvents asyncFileUpload As AjaxControlToolkit.AsyncFileUpload
....
asyncFileUpload = New AjaxControlToolkit.AsyncFileUpload
With asyncFileUpload
.ClientIDMode = UI.ClientIDMode.AutoID
.UploadingBackColor = ColorTranslator.FromHtml(UploadingBackColor)
.CompleteBackColor = ColorTranslator.FromHtml(CompleteBackColor)
.UploaderStyle = AjaxControlToolkit.AsyncFileUpload.UploaderStyleEnum.Traditional
.ThrobberID = img.UniqueID
End With
'then the control gets added to a Panel.
'events:
Protected Sub fileUploadFailure(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles asyncFileUpload.UploadedFileError
'do stuff
end Sub
Protected Sub SaveUploadedFile(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles asyncFileUpload.UploadedComplete
'do stuff
End Sub
前述したように、ファイルをアップロードするときにコントロールは正常に機能します。しかし、同じコントロールにリンクボタンがあり、ユーザーがアップロードされたファイルをダウンロードできるようになっています(コントロールの更新パネルが更新されます)。これが発生すると、明らかな理由なしにfileUploadFailureイベントが発生します(アップロードが行われていないため)。誰かが何が起こっているのか、そしてこれを防ぐ方法を説明できますか?