1. 程式人生 > >使用UpdatePanel時FileUpload失效的問題!【FileUpload上傳文件失敗】

使用UpdatePanel時FileUpload失效的問題!【FileUpload上傳文件失敗】

AR 上傳文件 ktr sdn nat 使用 onclick btn update

1.使用UpdatePanel後,FileUpload的HasFile始終為false,無論你是否選中了上傳文件!

方案一:設置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

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>

使用UpdatePanel時FileUpload失效的問題!【FileUpload上傳文件失敗】