最近开始整理GridView绑定数据的方法
刚好在网上看到一支GridView数据写入excel的方法
故而将传好的数据使用打开excel
却卡了一下午也没有debug成功。。。
下面附上代码:
InBlock.gif using System;
InBlock.gif using System.Collections;
InBlock.gif using System.Configuration;
InBlock.gif using System.Data;
InBlock.gif using System.Linq;
InBlock.gif using System.Web;
InBlock.gif using System.Web.Security;
InBlock.gif using System.Web.UI;
InBlock.gif using System.Web.UI.HtmlControls;
InBlock.gif using System.Web.UI.WebControls;
InBlock.gif using System.Web.UI.WebControls.WebParts;
InBlock.gif using System.Xml.Linq;
InBlock.gif using System.Web.Configuration;
InBlock.gif using System.Data.SqlClient;
InBlock.gif using System.IO;
InBlock.gif using System.Globalization;
InBlock.gif
InBlock.gif public partial class GridView_GridView : System.Web.UI.Page
InBlock.gif{
InBlock.gif         string source = WebConfigurationManager.ConnectionStrings[ "KPRCSConnectionString"].ConnectionString;
InBlock.gif         protected void Page_Load( object sender, EventArgs e)
InBlock.gif        {
InBlock.gif                GridBind();
InBlock.gif        }
InBlock.gif         protected void GridBind()
InBlock.gif        {
InBlock.gif                SqlConnection conn = new SqlConnection(source);
InBlock.gif                conn.Open();
InBlock.gif                 string select = "select * from Relabel";
InBlock.gif                SqlDataAdapter da = new SqlDataAdapter(select, conn);
InBlock.gif                DataSet ds = new DataSet();
InBlock.gif                da.Fill(ds);
InBlock.gif                GV1.DataSource = ds;
InBlock.gif                GV1.DataBind();
InBlock.gif        }
InBlock.gif         protected void GV1_pageIndexChanging( object sender, GridViewPageEventArgs e)
InBlock.gif        {
InBlock.gif                GV1.EditIndex = -1;
InBlock.gif                GV1.PageIndex = e.NewPageIndex;
InBlock.gif                GridBind();
InBlock.gif        }
InBlock.gif         public override void VerifyRenderingInServerForm(Control control)
InBlock.gif        {
InBlock.gif                 //注释掉下面的代码,否则在asp.net2.0下会报错(注:GridView是asp.net 2.0下的控件,1.1下一些控件也可以导出成Excel或者Word)
InBlock.gif                 //base.VerifyRenderingInServerForm(control);
InBlock.gif        }
InBlock.gif
InBlock.gif         protected void expExcel_Click( object sender, EventArgs e)
InBlock.gif        {
InBlock.gif                Response.Clear();
InBlock.gif                Response.BufferOutput = true;
InBlock.gif                Response.Charset = "GB2312";
InBlock.gif                Response.AppendHeader( "Content-Dispositio", "p_w_upload;filename=FileName.xls");
InBlock.gif                Response.ContentEncoding = System.Text.Encoding.GetEncoding( "GB2312");
InBlock.gif                Response.ContentType = "application/ms-excel";
InBlock.gif                EnableViewState = false;
InBlock.gif                CultureInfo cultureInfo = new CultureInfo( "ZH-CN", true);
InBlock.gif                StringWriter stringWriter = new StringWriter(cultureInfo);
InBlock.gif                HtmlTextWriter textWriter = new HtmlTextWriter(stringWriter);
InBlock.gif                GV1.RenderControl(textWriter);
InBlock.gif                Response.Write(textWriter.ToString());
InBlock.gif                Response.End();
InBlock.gif        }
InBlock.gif}
 
错误如下: RegisterForEventValidation 只能在 Render(); 期間呼叫
根据搜索找到的问题解决方法如下:
1:在.aspx的页面题头<%Page ...>的地方添加EnableEventValidation = "false" AutoEventWireup="true",怀着侥幸的心理debug了下,却伤心的遇到了下面的问题,web页面上显示如下:
文件的最上層無效。處理資源 'http://localhost:6075/mySkills/GridView/GridView.aspx' 發生錯誤。第 1 行, 位置 1