代码之家  ›  专栏  ›  技术社区  ›  Bob Mc

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

  •  2
  • Bob Mc  · 技术社区  · 16 年前

    我最近在ASP.NET Ajax控件工具包的最新版本(3.0.40412)中遇到了AsyncFileUpload控件。在隐藏的控件中使用它时似乎存在问题,稍后将显示该控件,例如 <div> 带标签 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>
    

    服务器端代码-

    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
    

    我在UploadedComplete事件上有一个断点,但它从不激发。但是,如果将AsyncFileUpload控件从 <DIV & GT; ,使其在初始页面呈现时可见,控件按预期工作。

    那么,这是AsynchUploadControl中的一个bug,还是我没有掌握一个基本概念(这是经常发生的)?

    1 回复  |  直到 16 年前
        1
  •  3
  •   NoAlias    16 年前

    首先,确保您的标签具有以下属性- enctype=“multipart/form data”method=“post” 其次,您必须将AsyncFileUpload放在一个可见的分区内的一个不可见的分区中。请看上面的这两个线程。

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

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