【问题标题】:Clear controls after file download in asp.net在 asp.net 中下载文件后清除控件
【发布时间】:2013-12-27 04:10:07
【问题描述】:

我有一个具有网格控件和树视图的网页。主要功能是根据树和网格的选择下载表格。所以它工作正常,我想要做的是,在 pdf 下载后清除选择,不幸的是我的代码没有发生。我正在使用 itextsharp 生成 pdf 文件。我的代码如下

MemoryStream ms = new MemoryStream();
foreach (var file in filesToInclude)
{
    try
    {
        PdfReader ps = new PdfReader(file);
        PdfStamper pdf = new PdfStamper(ps, ms);//2
        pdf.Close();//4
        HttpContext.Current.Response.ClearContent();//5
        HttpContext.Current.Response.ClearHeaders();//6
        HttpContext.Current.Response.ContentType = "application/pdf";//7
        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Session["Form_Name"]);//8
        HttpContext.Current.Response.BinaryWrite(ms.ToArray());//9
        ms.Flush();
        clearcontrols();
    }
    catch (Exception ex)
    { }
}

【问题讨论】:

    标签: c# asp.net pdf-generation itextsharp


    【解决方案1】:

    将代码放在finally 块中,这样即使出现异常,它也会始终清除它。此外,拥有一个空的 catch 块也不是一个好习惯。您正在抑制异常而不是处理它。

    MemoryStream ms = new MemoryStream();
    foreach (var file in filesToInclude)
    {
        try
        {
            PdfReader ps = new PdfReader(file);
            PdfStamper pdf = new PdfStamper(ps, ms);//2
            pdf.Close();//4
            HttpContext.Current.Response.ClearContent();//5
            HttpContext.Current.Response.ClearHeaders();//6
            HttpContext.Current.Response.ContentType = "application/pdf";//7
            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Session["Form_Name"]);//8
            HttpContext.Current.Response.BinaryWrite(ms.ToArray());//9
            ms.Flush();
        }
        catch (Exception ex)
        {
            HandleException(); // Write code to handle exception 
        }
        finally
        {
             clearcontrols();
        }
    }
    

    【讨论】:

    • 我将 ajax rad ajax 管理器放在页面和加载面板中。所以现在下载过程本身不起作用,有人知道这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 2023-03-05
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多