C# 将更新面板中的网格视图导出到Excel,然后刷新网格-不工作

C# 将更新面板中的网格视图导出到Excel,然后刷新网格-不工作,c#,asp.net,gridview,updatepanel,export-to-excel,C#,Asp.net,Gridview,Updatepanel,Export To Excel,我在更新面板中有一个gridview。我可以使用HTTP响应将其导出到excel,它将导出所需的数据,并在弹出窗口中打开文件,这一切正常 但是,一旦数据被导出,我必须更新网格视图,表明这些数据已被导出。我验证了数据源是否设置了正确的数据,并调用了databind。但是excel导出不会触发屏幕刷新 如果我通过更改下拉列表或其他方式触发刷新,我可以看到数据已更改。我尝试了UpdatePanelID.Update()-仍然没有成功 那么,如何在excel导出后触发gridview刷新呢 提前谢谢 我

我在更新面板中有一个gridview。我可以使用HTTP响应将其导出到excel,它将导出所需的数据,并在弹出窗口中打开文件,这一切正常

但是,一旦数据被导出,我必须更新网格视图,表明这些数据已被导出。我验证了数据源是否设置了正确的数据,并调用了databind。但是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.

你所谓的“弹出窗口”,在我看来,你说的是浏览器下载弹出窗口。 所以,在这种情况下,它不会工作,因为你已经做了一个响应。清除,你就不能再刷新你的网格了

我的建议是:你可以打开一个真正的弹出窗口,它的意思是:window.popup,这个弹出窗口将完成所有的响应工作,或者你也可以在你的按钮“导出”中放入一些java脚本来做两件事:执行返回导出功能,然后等待X毫秒来调用某个隐藏按钮的点击,只为了再次返回并刷新


希望它能有所帮助

一些标记(aspx)和一些代码隐藏呢?:)我已经添加了一些代码,看看是否有帮助。