3

以下はマークアップページです

  <asp:UpdatePanel runat="server" UpdateMode="Conditional">
        <ContentTemplate>
                    <table>
                        <tr>
                            <td>
                                <label>File name<label>
                            </td>
                        </tr>
                       <tr>
                            <td>
  <asp:TextBox runat="server" ID="txtName" Width="150%"></asp:TextBox>
                            </td>
                        </tr>
                      <tr>
                            <td>
                                <label>File</label>
                            </td>
                            <td>
                                <asp:FileUpload runat="server" ID="fileUpload" />
                            </td>
                        </tr>
                    </table>
                    <asp:Button runat="server" ID="btnUpload" Text="Upload file"  OnClick="btnUpload_Click" />
                </div>

                <div class="panel-heading">File display</div>
                <div class="panel-body">
     <asp:GridView runat="server">
       </asp:GridView>
                    <asp:Button runat="server" ID="btnRefresh" Text="Refresh" OnClick="btnRefresh_Click" />
                </div>
            </div>
        </ContentTemplate>
        <Triggers>
            <asp:PostBackTrigger ControlID="btnUpload" />
        </Triggers>
    </asp:UpdatePanel>

上記のコードでは、ユーザーが「btnUpload」をクリックするたびにポストバックが発生しますが、ポストバックを防止する更新パネルがあり、PostBackTrigger を AsyncPostBackTrigger に変更すると、ページはポストバックしませんでしたが、 fileUpload.HasFile は false になり、ファイルを取得できませんでした。

上記のコードの何が問題になっていますか?postBackTrigger がポスト バックをトリガーするのはなぜですか?

4

2 に答える 2

2

制御イベントを定義していません。どの制御イベントでトリガーするかを指定する必要があります。

<asp:AsyncPostBackTrigger ControlID="btnUpload" EventName="Click" />

アップデート:

非同期ポストバック トリガーを使用する必要があります。

AsyncPostBackTrigger -これらのトリガーを使用して、クリックされたときに部分ページ ポストバックをトリガーする必要がある UpdatePanel 内または外のコントロールを指定します。

PostBackTrigger -これらのトリガーを使用して、UpdatePanel 内のコントロールが部分的なページ ポストバックではなく、完全なページ ポストバックを発生させるようにします。

于 2014-06-10T06:59:06.977 に答える