C# UpdatePanel方法未触发

C# UpdatePanel方法未触发,c#,asp.net,epplus,C#,Asp.net,Epplus,在UpdatePanel中,我试图绑定到ListView并将其内容导出到Excel。这些函数可以独立工作(我的“运行报告”按钮绑定列表视图,“导出到Excel”按钮使用EPPlus导出.xlsx文件)。为了使.xlsx导出工作,我必须为“导出到Excel”按钮创建一个Postback 我希望“导出到Excel”按钮既能绑定列表视图,又能导出.xlsx。我已经添加了将ListView绑定到export方法中的方法,但是它似乎跳过了它。我想我没有理解回发邮件的某些部分 以下是: 以下是嵌入runre

UpdatePanel
中,我试图绑定到
ListView
并将其内容导出到Excel。这些函数可以独立工作(我的“运行报告”按钮绑定
列表视图
,“导出到Excel”按钮使用EPPlus导出.xlsx文件)。为了使.xlsx导出工作,我必须为“导出到Excel”按钮创建一个
Postback

我希望“导出到Excel”按钮既能绑定
列表视图
,又能导出.xlsx。我已经添加了将
ListView
绑定到export方法中的方法,但是它似乎跳过了它。我想我没有理解回发邮件的某些部分

以下是

以下是嵌入runreport方法的导出方法:

protected void export_Click(object sender, EventArgs e)
{
    runreport(null, null);

    ExcelPackage pck = new ExcelPackage();
    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("worksheet");

    DataTable dt = new DataTable();

    dt.Columns.Add(new DataColumn("Date", typeof(string)));
    dt.Columns.Add(new DataColumn("Payee", typeof(string)));
    dt.Columns.Add(new DataColumn("Amount", typeof(string)));

    foreach (ListViewDataItem li in reportlv.Items)
    {
        if (li.ItemType == ListViewItemType.DataItem)
        {
            DataRow dr = dt.NewRow();
            dr["Date"] = ((Label)li.FindControl("lbldate")).Text.ToString();
            dr["Payee"] = ((Label)li.FindControl("lblpayee")).Text.ToString();
            dr["Amount"] = ((Label)li.FindControl("lblamt")).Text.ToString();
            dt.Rows.Add(dr);
        }
    }

    ws.Cells["A1"].LoadFromDataTable(dt, true);
    pck.SaveAs(Response.OutputStream);
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AddHeader("content-disposition", "attachment;  filename=summary.xlsx");
    Response.Flush();
    Response.End();
}
以下是按钮:

<asp:Button runat="server" ID="run" OnClick="runreport" CssClass="button" Text="Run Report" />
<asp:Button runat="server" ID="export" OnClick="export_Click" CssClass="button" Text="Export to Excel" />


如果您正在进行完整的回发,是否确定仍有数据要再次绑定到listview?可能?我在Page_Load中添加了一个if(IsPostBack){runreport(null,null)},但这并没有解决问题。同时显示
Page_Load
方法。onclick不是asp的有效属性:PostBackTriggerAh得到了它。EventName是AsyncPostBackTrigger的属性,而不是PostBackTrigger的属性。测试。AsyncPostBack不会导致Excel文件打开/保存提示。
protected void export_Click(object sender, EventArgs e)
{
    runreport(null, null);

    ExcelPackage pck = new ExcelPackage();
    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("worksheet");

    DataTable dt = new DataTable();

    dt.Columns.Add(new DataColumn("Date", typeof(string)));
    dt.Columns.Add(new DataColumn("Payee", typeof(string)));
    dt.Columns.Add(new DataColumn("Amount", typeof(string)));

    foreach (ListViewDataItem li in reportlv.Items)
    {
        if (li.ItemType == ListViewItemType.DataItem)
        {
            DataRow dr = dt.NewRow();
            dr["Date"] = ((Label)li.FindControl("lbldate")).Text.ToString();
            dr["Payee"] = ((Label)li.FindControl("lblpayee")).Text.ToString();
            dr["Amount"] = ((Label)li.FindControl("lblamt")).Text.ToString();
            dt.Rows.Add(dr);
        }
    }

    ws.Cells["A1"].LoadFromDataTable(dt, true);
    pck.SaveAs(Response.OutputStream);
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AddHeader("content-disposition", "attachment;  filename=summary.xlsx");
    Response.Flush();
    Response.End();
}
<asp:Button runat="server" ID="run" OnClick="runreport" CssClass="button" Text="Run Report" />
<asp:Button runat="server" ID="export" OnClick="export_Click" CssClass="button" Text="Export to Excel" />
protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        runreport(null, null);
    }
}