我有一个页面,其中许多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并保存用户输入即可。

10-08 17:17