본문 바로가기
프로그래밍/ASP.NET

Gridview to excel export

by 젤리씨 2015. 5. 29.
728x90

GridView 값을 엑셀로 다운로드 하려고 하는데

 

       protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

        {

                Response.Clear();

                Response.AddHeader("content-disposition", "attachment;filename=GridView.xls");

                Response.ContentType = "application/vnd.xls";

 

                System.IO.StringWriter         stringWriter = new System.IO.StringWriter();

                System.Web.UI.HtmlTextWriter   htmlWriter   = new HtmlTextWriter(stringWriter);

 

                GridView1.RenderControl(htmlWriter);

                Response.Write(stringWriter.ToString());

                Response.End();

        }

 

 

다음 소스와 같이 적용하면 문제 없는데 어느날 오류가 발생하였다....갑자기;;

 

에러문구는

 RegisterForEventValidation은 Render()를 실행하는 동안에만 호출할 수 있습니다.

 

해결방법은

 

cs 쪽에는  아래와 같이 추가하면 되고

 

public override void VerifyRenderingInServerForm(Control control)
{
 }

 

 

aspx 쪽에는 아래와 같이 추가하면 된다.

<%@ Page Language="C#" EnableEventValidation = "false"
AutoEventWireup="true"
 CodeFile="Default.aspx.cs" Inherits="Default" %>

 

728x90

댓글