隐藏/显示AsyncFileUpload控件不会触发服务器端UploadedComplete事件

时间:2010-05-26 21:42:33

标签: asp.net vb.net ajaxcontroltoolkit

我最近在ASP.Net Ajax Control Toolkit的最新版本(3.0.40412)中遇到了AsyncFileUpload控件。在稍后显示的隐藏控件中使用它时似乎存在问题,例如带有<div>的{​​{1}}标记。

示例:

页码 -

visible=false

服务器端代码 -

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
.
.
.
<act:ToolkitScriptManager runat="server" ID="ScriptManager1" />
<asp:UpdatePanel runat="server" ID="upnlFileUpload">
    <ContentTemplate>
        <asp:Button runat="server" ID="btnShowUpload" Text="Show Upload" />
        <div runat="server" id="divUpload" visible="false">
            <act:AsyncFileUpload runat="server" id="ctlFileUpload" />
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

我在UploadedComplete事件上有一个断点,但它永远不会触发。但是,如果从Protected Sub ctlFileUpload_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles ctlFileUpload.UploadedComplete End Sub Protected Sub btnShowUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowUpload.Click divUpload.Visible = True End Sub 中取出AsyncFileUpload控件,使其在初始页面渲染时可见,则控件将按预期工作。

那么,这是AsynchUploadControl中的一个错误,还是我没有掌握一个基本概念(定期发生)?

1 个答案:

答案 0 :(得分:3)

首先,确保您的代码具有以下属性 - enctype =“multipart / form-data”method =“post”其次,您必须在可见的DIV中使用AsyncFileUpload DIV。看到这两个线程。

http://forums.asp.net/t/1489399.aspx

http://forums.asp.net/t/1479689.aspx?PageIndex=2