在更新面板中将GridView导出到Excel,然后刷新网格-不工作
本文关键字:然后 Excel 刷新 网格 工作 更新 GridView | 更新日期: 2023-09-27 18:08:14
我在更新面板中有一个gridview。我可以使用HTTP响应将其导出到excel,它导出所需的数据并在弹出窗口中打开文件,这一切都很好。
但是,一旦数据导出,我必须更新网格视图,表明这些数据已导出。我验证了将正确的数据设置为数据源并调用了数据绑定。但是excel导出没有触发屏幕刷新。
如果我通过更改下拉菜单或其他方式触发刷新,我可以看到数据被更改。我尝试了UpdatePanelID.Update() -仍然无效。
那么如何触发excel导出后的gridview刷新?
提前感谢。
我的导出代码:
var excelXml = GetExcelXml(dsInput, filename);
response.Clear();
response.AppendHeader("Content-Type", "application/vnd.ms-excel");
response.AppendHeader("Content-disposition", "attachment; filename=" + filename);
response.Write(excelXml);
response.Flush();
protected void btnExport_Click(object sender, EventArgs e)
{
try
{
if (list.Count() > 0)
{
ds.Tables.Add(dtForExport);
ExcelHelper.ToExcel(ds, filename); //To Excel method is described above.
LoadGridDetails();//Binds the new values
}
}
catch (Exception ex)
{
lblStatus.Text = "Error Exporting to Excel";
}
}//Screen is not refreshed after executing this line.
你所说的"弹出",在我看来,你是在谈论浏览器下载弹出。在这个例子中,它不起作用,因为你已经做了一个Response。清除后,你就不能再刷新你的网格了。
我的建议是:你可以打开一个真正的弹出窗口。弹出窗口,这个弹出窗口将完成所有的响应工作,或者你也可以在你的按钮"导出"中放一些java脚本来做两件事:做post-back到导出函数,等待X毫秒调用某个隐藏按钮的点击,只是为了进行第二次post-back和刷新。
希望有所帮助