2012-04-05 21 views
0

データグリッドをエクスポートしようとしています。コードを使用して データグリッドをエクスポートする際にエラーが発生しました

Response.Clear(); 
        Response.AddHeader("content-disposition", "attachment;filename=Salary_JV_Posting_For_PG_.xls"); 
        Response.Charset = ""; 
        Response.ContentType = "application/vnd.xls"; 
        System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
        stringWrite.Write("&nbsp;&nbsp;<b><font color=#336699 size = 25px><u>test</u></font></b> "); 
        stringWrite.Write(Environment.NewLine); 
        stringWrite.Write(Environment.NewLine); 
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); 
        Response.Flush(); 
        dgLine.RenderControl(htmlWrite); 
        Response.Write(stringWrite.ToString()); 
        Response.End(); 

私はデバッグを試みたが、最後の行(Response.Endの)を実行すると、次のエラーが、私はAJAXを使用しています

Data = Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack. 

表示されます。

はクマー

答えて

0

Response.End()は絶対にページ・ライフサイクルの実行を停止する考えています。

たぶんあなたの代わりにそれのHttpContext.Current.ApplicationInstance.CompleteRequest();

を試すことができます。

0

Public Sub ExportGridToExcel(ByVal GridView1 As DataGrid, ByVal fileName As String) 
     Response.Clear() 
     Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.xls", fileName)) 
     Response.Charset = "" 
     Response.ContentType = "application/vnd.xls" 
     Dim stringWrite As New StringWriter() 
     Dim htmlWrite As New HtmlTextWriter(stringWrite) 
     GridView1.RenderControl(htmlWrite) 
     Response.Write(stringWrite.ToString()) 
     Response.Flush() 
     Response.[End]() 
    End Sub 

このバディを試してみて、ここ

Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click 
    ExportGridToExcel(DataGrid1, "IT-ADEEL") 
End Sub 

歓声

などのボタンでこのメソッドを呼び出し、
関連する問題