0

私は AjaxControlToolkit ModalPopupExtender を使用して、ファイルの選択を圧縮してダウンロードできるようにしています。モーダル ポップアップを設定する asp:Panel 内の asp:Button には、コード ビハインド サブを参照する OnClick プロパティがあります。これは、OkControlID プロパティが asp:ModalPopupExtender に追加されてポップアップを簡単に閉じるまで、期待どおりに機能します...その後、OnClick は無視されます...ポップアップ内で同じ asp:Button を使用する方法を知っている人はいますか? codebehind サブルーチンを呼び出して、ポップアップも閉じますか?

asp:Panel ID="DownLoadForm" runat="server" CssClass="download-form">
    <div class="download-header">Files Available For Download</div>
    <ul>
        <li><asp:CheckBox ID="CheckBox1" runat="server" checked="true" enabled="false"/> File 1</li>
        <li><asp:CheckBox ID="CheckBox2" runat="server" /> File 2</li>
        <li><asp:CheckBox ID="CheckBox3" runat="server" /> File 3</li>
        <li><asp:CheckBox ID="CheckBox4" runat="server" /> File 4</li>
        <li>&nbsp;</li>
        <li>
            <asp:Button ID="btnZipAndDownload" runat="server" Text="Zip And Download" OnClick="Download"/>
            <asp:Button ID="btnCancelDownload" runat="server" Text="Cancel" />
        </li>
    </ul>

</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupDownload" runat="server"
    PopupControlID="DownLoadForm"
    TargetControlID="btnDownloadFiles"
    CancelControlID="btnCancelDownload"
    OkControlID="btnZipAndDownload" >
</asp:ModalPopupExtender>

コードビハインドのサブは「ダウンロード」です

Protected Sub Download(ByVal sender As Object, ByVal e As System.EventArgs)
    Try
        Dim FileName As String = "~/Mock_Files.zip"
        Response.AddHeader("Content-disposition", "attachment; filename=Mock_Borrower_Files.zip")
        Response.ContentType = "application/zip"
        Response.WriteFile(FileName, False)

    Catch ex As Exception
        Foo
        Foo too
    End Try

    Response.End()

End Sub
4

1 に答える 1

1

OnClientClick プロパティを使用して、__doPostBack関数呼び出しでポストバックを強制できます。

<asp:Button ID="btnZipAndDownload" runat="server" Text="Zip And Download" OnClick="Download"
    OnClientClick="__doPostBack(this.name, '')" />
于 2012-11-09T19:49:44.343 に答える