我有一个页面,其中大部分HTML由客户端脚本(JQuery)生成。我添加了一个服务器端ASP.NET文件控件来将文件上传到服务器。更新面板AsyncPostBack和回发触发器
现在文件正在按钮点击上传,这会导致POSTBACK,所以所有的文本框公司名称,街道名称,城市客户端等都会丢失,因为它们是由JQuery生成的。
我把上传部分放在UpdatePanel中,并注册了AsyncPostBack触发器,但后来我没有在代码隐藏中获取HttpContext对象。我使用PostBackTrigger将Async转换为完整的回发,然后事情变得和以前一样(即没有更新面板)。
现在我有两个人的问题: - 如果更新面板的行为方式与没有更新面板的页面相同,那么更新面板的用法是什么。 (PostBackTrigger) - 我应该如何处理上述问题?
CODE:
<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>
回发后您必须重新创建控件。如果它们在后面的ASP.NET代码中动态创建,则答案将是相同的:动态创建的控件必须在每次回发时重新创建。 – Alexander 2014-09-10 13:53:32
这真的有助于在这里看到一些代码。 看看使用AsyncPostBackTriggers – CrazyPaste 2014-09-10 14:01:06
@KidBilly请参阅上面的更新。 – FreshDev 2014-09-10 14:13:23