在更新面板中将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.

在更新面板中将GridView导出到Excel,然后刷新网格-不工作

你所说的"弹出",在我看来,你是在谈论浏览器下载弹出。在这个例子中,它不起作用,因为你已经做了一个Response。清除后,你就不能再刷新你的网格了。

我的建议是:你可以打开一个真正的弹出窗口。弹出窗口,这个弹出窗口将完成所有的响应工作,或者你也可以在你的按钮"导出"中放一些java脚本来做两件事:做post-back到导出函数,等待X毫秒调用某个隐藏按钮的点击,只是为了进行第二次post-back和刷新。

希望有所帮助