Jas*_*son 16 c# asp.net ajax updatepanel file-upload
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:FileUpload onchange="clickTheButton();" ID="FileUpload1" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
按钮1位于更新面板之外,当用户在上传框中添加文件时运行的javascript是:
function clickTheButton() {
document.getElementById('<%= Button1.ClientID %>').click();
}
Run Code Online (Sandbox Code Playgroud)
问题很简单.FileUpload1.HasFile == false.我不知道为什么会这样,但当我把它放在更新面板中时它就不再起作用了.
我已经看到了其他一些线索.但他们都没有回答为什么会这样,他们只是指出你可以下载的东西.
编辑:我真正想要这样做的主要原因是我可以获得一个..上传文件..标签在客户端上传到服务器时弹出,一旦完成,就显示在一个数据列表中.我只是无法让UpdateProgress工作.
jam*_*one 15
基本上你只需要让你的按钮做一个完整的回发来发送文件.还要确保你有this.Form.Enctype ="multipart/form-data"; 在您的代码中设置,或者您可以放入该页面.出于安全原因,AsyncPostbacks不能与文件一起使用,没有黑客攻击.(我从来没有能够让它工作).
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:FileUpload onchange="clickTheButton();" ID="FileUpload1" runat="server" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36786 次 |
| 最近记录: |