AsyncFileUpload 的 OnUploadedComplete 函数永远不会在细节视图中出现

OnUploadedComplete function of AsyncFileUpload is never hit in detailsview

我在详细信息视图中有一个 AsyncFileUpload 控件。我可以浏览到 select 一个要上传的文件。当我开始上传时,OnClientUploadComplete 函数 uploadRoomThumbComplete 方法被执行,但是 OnUploadedComplete 中的函数永远不会被命中。

为什么?

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>

    <asp:DetailsView AutoGenerateRows="False" DefaultMode="Edit" Width="100%" DataKeyNames="id" DataSourceID="odsDetails" ID="dvOfferDetails" runat="server">
    <Fields>
        <asp:TemplateField HeaderStyle-HorizontalAlign="Left" HeaderStyle-VerticalAlign="Bottom" HeaderText="<%$Resources:Glossary,image%>">
            <EditItemTemplate>
                <asp:literal ID="ltImage" runat="server" /> 
                <p id="RoomContainer">
                </p>
                <asp:literal ID="ltDeleteRoomThumb" runat="server" />
                <cc1:AsyncFileUpload CssClass="imageUploaderField" ID="afuRoomThumb" Width="150" runat="server" ClientIDMode="AutoID" OnUploadedComplete="afuRoomThumb_UploadedComplete" OnClientUploadComplete="uploadRoomThumbComplete" />
            </EditItemTemplate>
        </asp:TemplateField>            
    </Fields>
</ContentTemplate>
</asp:UpdatePanel>



Protected Sub afuRoomThumb_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs)
    '---> this codeblock is NEVER hit....why?
End Sub

好的,我在这里找到了答案:http://forums.asp.net/t/1477331.aspx?AsyncFileUpload+inside+a+GridView+inside+an+UpdatePanel

简而言之:在页面上放置另一个AsyncFileUpload 控件并设置样式display:none。

似乎 AsyncFileUpload 被设计为在页面上只使用一次,当您将它放在母版页上时,更新面板中的任何 afu 都可以使用。