【问题标题】:Hidden/Shown AsyncFileUpload Control Doesn't Fire Server-Side UploadedComplete Event隐藏/显示的 AsyncFileUpload 控件不会触发服务器端 UploadedComplete 事件
【发布时间】:2010-05-26 21:42:32
【问题描述】:

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

示例:

页面代码-

<%@ 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 控件从 &lt;div&gt; 中取出,使其在初始页面呈现时可见,则该控件将按预期工作。

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

【问题讨论】:

    标签: asp.net vb.net ajaxcontroltoolkit


    【解决方案1】:

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

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

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

    【讨论】:

    • 首先,感谢您的回答。它似乎已经解决了这个问题。其次,你是一个比我更好的搜索者。昨天我花了几个小时寻找这个,包括在 asp.net 网站上,结果是空的。不错的作品。最后,真是一团糟。我希望 Ajax Control Toolkit 的开发人员在下一个版本中给予这一点关注。
    • 将它添加到表单元素就足以让它为我工作:enctype="multipart/form-data" method="post"。我也没有隐藏 AsyncFileUpload 控件本身,而是隐藏了上传控件周围的面板。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多