一般使用FileUpload控制項時,只要PostBack回後台,有上傳的檔案一定取的到
但是某天我在外面包了一個UpdatePanel
慘案發生了
1 2 3 4 5 6
| <asp:updatepanel id="UpdatePanel1" runat="server"> <contenttemplate> <asp:fileupload id="FileUpload1" runat="server"> <asp:button id="Button1" runat="server" text="Button"> </asp:button></asp:fileupload></contenttemplate> </asp:updatepanel>
|
PostBack回到後台接不到上傳的檔案orz
還好有同事愈過這樣的情況
同事說只要加上Trigger就可以了,馬上測試
1 2 3 4 5 6 7 8 9
| <asp:updatepanel id="UpdatePanel1" runat="server" updatemode="Conditional"> <contenttemplate> <asp:fileupload id="FileUpload1" runat="server"> <asp:button id="Button1" runat="server" text="Button"> </asp:button></asp:fileupload></contenttemplate> <triggers> <asp:postbacktrigger controlid="Button1"> </asp:postbacktrigger></triggers> </asp:updatepanel>
|
捷克~真的可以了
原來是FileUpload一定要觸發PostBack,後台才能取得上傳的檔案
MSDN中有說到,FileUpload和UpdatePanel不相容
學藝不精阿~還是要多多看MSDN