我有一个页面,其中许多HTML是由客户端脚本(JQuery)生成的。我添加了一个服务器端ASP.NET File控件,以将文件上传到服务器。
现在,通过单击按钮就可以上传文件,这将导致POSTBACK,因此所有文本框“公司名称”,“街道名称”,“城市客户”等都将丢失,因为它们是由JQuery生成的。
我将上载部分放在UpdatePanel中,并注册了AsyncPostBack触发器,但随后在代码隐藏时没有得到HttpContext对象。我使用PostBackTrigger将Async转换为完整的回发,然后事情变得和以前一样(即没有更新面板)。
现在你们有两个问题:
-如果更新面板的行为与没有更新面板的页面相同,则有什么用。 (PostBackTrigger)
-以上问题我该怎么办?
码:
<asp:UpdatePanel ID="uploadUpdatePanel" runat="server">
<ContentTemplate>
<input id="fileField" type="file" runat="server" multiple="multiple" />
<asp:Button ID="uploadButton" runat="server" Text="Upload Documents" OnClick="uploadButton_Click" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="uploadButton" />
<%--<asp:PostBackTrigger ControlID="uploadButton" />--%>
</Triggers>
</asp:UpdatePanel>
最佳答案
基本上,FileUpload控件在UpdatePanels中不起作用。据我所知,我之前就遇到过这个问题,没有办法解决。您只需要接受完整的PostBack并保存用户输入即可。