1

誰かが応答してくれることを願っています。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イベントが発生します(アップロードが行われていないため)。誰かが何が起こっているのか、そしてこれを防ぐ方法を説明できますか?

4

1 に答える 1

0

しばらくこれを使って作業した後、ダウンロードを開始するために使用するボタンがリンクボタンである場合、これが問題のように思われることに気付きました。これをボタンに変えれば大丈夫です。

于 2013-07-25T15:37:36.857 に答える