1.使用UpdatePanel後,FileUpload的HasFile始終為false,無論你是否選中了上傳文檔!
2.使用UpdatePanel後,在後台進程中,你在使用Response.Write(“”)看看,不給你JS錯才怪,而且打印不出你要的東西!
方案一:設置ScriptManager 的EnablePartialRendering=“false” 即可! 缺點:同一個頁面上的多個UpdatePanel不可以獨自刷新了.另外,當你的UpdatePanel中存在Validator (驗證控件)的話,會造成整個頁面postback
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="false"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:FileUpload ID="fu" runat="server" /> </ContentTemplate> </asp:UpdatePanel>方案二: 來源於:http://marss.co.ua/FileUploadAndUpdatePanel.aspx
還記得UpdatePanel 裏面的Triggers?如果忘記了真的該好好複習了! PostBackTrigger 指明PostBack提交的按鈕ID,還有一個<asp:AsyncPostBackTrigger/>這個當然是異步了哦!PostBackTrigger 他只回發該UpdatePanel 裏面的東西,不會影響其他UpdatePanel 的回發
使用 PostBackTrigger 控件可使 UpdatePanel 內部的控件導致回發,而不是執行異步回發。
UpdatePanel中使用FileUpload具體見:http://msdn.microsoft.com/zh-cn/library/system.web.ui.postbacktrigger.aspx
<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel runat="server" ID="up1"> <ContentTemplate> <asp:FileUpload ID="fu" runat="server" /> <asp:Button ID="BtnUpload" runat="server" Text="Upload" onclick="Btn_Click" /> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="BtnUpload" /> </Triggers> </asp:UpdatePanel> </form>
Social Plugin