asp.net FileUpload无法正常工作

时间:2013-11-05 08:22:01

标签: c# asp.net gridview file-upload updatepanel

我在asp:FileUpload中有asp:Button,两个GridViewUpldatePanel

<asp:FileUpload runat="server" ID="fileExcelUpload" />

<asp:Button  ID="btnShow" runat="server" Width="80px" OnClick="btnShow_Clicked"
                        AutoPostBack="true" Text="Save"/>
<asp:Button  ID="btnImport" runat="server" Width="80px" OnClick="btnImport_Clicked"
                        AutoPostBack="true" Text="Save"/>


<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
.........GridView...........
</ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnShow" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="btnImport" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

首先,我从数据库中检索一些数据并使用gridView绑定到btnShow。它运作正常。
但是,当我使用asp:FileUpload上传Excel文件并点击btnImport时,

   protected void btnImport_Clicked(object sender, EventArgs e)
    {
        if (fileUExcelUpload.HasFile)
            { 
            .....
            }
    }

布尔值fileUExcelUpload.HasFile返回False 但是当我从UpldatePanel的触发器中删除<asp:AsyncPostBackTrigger ControlID="btnImport" EventName="Click" />时,它会返回True

(我将btnImport的Click事件添加到UpdatePanel的触发器的原因是,我希望在回发后保持asp:FileUpload的上传文件。)
有没有正确的方法呢?请帮助我:)谢谢!

1 个答案:

答案 0 :(得分:0)

中添加此行
<Triggers> </Triggers>

<asp:PostBackTrigger ControlID="btnUpload" />

这里btnUpload是fileupload控件的id