我有一個頁面,其中大部分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