0

私はasp:FileUpload、2 つ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。完全に機能します。
しかし、Excelファイルをアップロードしasp:FileUploadてクリックするとbtnImport

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

ブール値fileUExcelUpload.HasFilereturn False.
しかし、<asp:AsyncPostBackTrigger ControlID="btnImport" EventName="Click" />UpldatePanel のトリガーから削除すると、戻りTrueます。

(UpdatePanel の Triggers に の Click イベントを追加した理由は、ポストバック後にbtnImportUploaded File を保持したいからです。) 何か正しい方法はありますか?親切に私を助けてください:)ありがとう!asp:FileUpload

4

1 に答える 1

0

この行を

<Triggers> </Triggers>

<asp:PostBackTrigger ControlID="btnUpload" />

ここで btnUpload は fileupload コントロールの ID です

于 2013-11-05T09:08:12.297 に答える