我在asp:FileUpload
中有asp:Button
,两个GridView
和UpldatePanel
。
<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
的上传文件。)
有没有正确的方法呢?请帮助我:)谢谢!
答案 0 :(得分:0)
在
中添加此行<Triggers> </Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
这里btnUpload是fileupload控件的id