当前位置: 代码迷 >> ASP.NET >> 将sql server中数据以Excel格式显示在浏览器的有关问题
  详细解决方案

将sql server中数据以Excel格式显示在浏览器的有关问题

热度:8437   发布时间:2013-02-26 00:00:00.0
将sql server中数据以Excel格式显示在浏览器的问题
如题,程序在dgExcel.RenderControl(hw)出错:类型“GridView”的控件“dgExcel”必须放在具有   runat=server   的窗体标记内。代码如下:
protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                String   strsql;
                DataSet   objDataset   =   new   DataSet();
                SqlConnection   con   =   new   SqlConnection();
                con.ConnectionString   =   ConfigurationManager.ConnectionStrings[ "GoodsConnectionString "].ToString();
                strsql   =   "select   *   from   products ";
                SqlDataAdapter   objAdapter   =   new   SqlDataAdapter();
                con.Open();
                objAdapter.SelectCommand   =   new   SqlCommand(strsql,   con);
                objAdapter.Fill(objDataset);

                            //dgExcel是Gridview的id
                DataView   oView   =   new   DataView(objDataset.Tables[0]);
                dgExcel.DataSource   =   oView;
                dgExcel.DataBind();
                con.Close();
                con.Dispose();
                con   =   null;


                if   (Request.QueryString[ "bExcel "]   ==   "1 ")//另一页面穿的值
                {
                        Response.ContentType   =   "application/vnd.ms-excel ";
                        Response.Charset   =   " ";
                        StringWriter   tw   =   new   StringWriter();
                        HtmlTextWriter   hw   =   new   HtmlTextWriter(tw);
                        dgExcel.RenderControl(hw);//程序在此出错
                        Response.Write(tw.ToString());
                        Response.End();
                       
                }
                    检查 <form   id= "form1 "   runat= "server "> 在,无丢失



------解决方案--------------------------------------------------------
加上
public override void VerifyRenderingInServerForm( Control control )
  相关解决方案