我试图在需要导出网格数据的页面中下载excel后隐藏进度条,但是当我点击 downloadtoexcel 按钮时它不会发生我能够看到加载图像,下载文件后,我也可以看到图像( divProgress图像),之后由于页面上的这个图像,我无法点击任何东西....
为此我已经重定向到另一个页面,就像我点击按钮一样 另一个页面将打开,我将在那里下载excel ...
但是我无法获取网格数据,而是在excel文件中获取HTML页面内容.....
这是我将网格数据导出到excel的功能
if (gvPR.Attributes["FilterQuery"].Equals(string.Empty))
{
GridData = objCert.GetCerts(remoteUser,TotalRecords, 1, Filter);
}
else
{
GridData = objCert.GetCerts(remoteUser,gvPR.PageSize, 1, Filter);
}
Session["OutPut"] = GridData;
ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('/MasterPages/Default.aspx');", true);
//DatasettoExcel.Convert(GridData, Response);
以下代码用于在不同页面下载excel(Default.aspx)
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment; filename=Download" + System.DateTime.Now.ToString("yyyyMMddHHMMss") + ".xls");
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
DataSet ds = Session["OutPut"] as DataSet;
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
我不确定我在这个功能中做错了什么.... 我无法导出网格数据而不是此页面获取html内容..这是从MasterPage派生的内容页面...
任何人都可以帮我解决这个问题.. 非常感谢提前.....
答案 0 :(得分:0)
添加重定向标题
Response.AddHeader("Refresh", "5; url=yourpage.html");
Response.Write(stringWrite.ToString());
延迟5秒后重定向到yourpage.html