1

この種の質問が多くのフォーラムで何度も聞かれることは知っていますが、この問題をより奇妙にしているのは、ローカルとサーバーの両方で 1 つのモジュールでは機能するが、別のモジュールでは機能しないことです。

もっとはっきりさせてください。

次のコードを使用してCSなど、1つのモジュールのExcelシートをエクスポートしています

   public void ExportToExcel(string fileName, GridView gv)
     {  
        try
        {
        HttpContext.Current.Response.ClearContent();
        HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xls", fileName));
        HttpContext.Current.Response.ContentType = "application/excel";
        System.IO.StringWriter sw = new System.IO.StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        gv.RenderControl(htw);
        HttpContext.Current.Response.Write(sw.ToString());
        HttpContext.Current.Response.End();
        }
        catch (Exception ex)
        {
        }        
    }

同じコードを持つ小売業者など、別のリストをエクスポートします。ローカルでデバッグしましたが、2 番目のモジュールでは例外が発生していました

ThreadAbortExceptionただし、レコードリストは 1 つです。

ここで提案されているように、使用しHttpContext.Current.ApplicationInstance.CompleteRequestましたが、予期しない結果が得られました(ページ全体がエクスポートされます)

4

0 に答える 0