母版页中更新面板内的 C# 下载按钮

C# Download button inside of Update Panel in Master Page

我有一个带有母版页的 Web 表单,该母版页使用更新面板。

问题是,每当我尝试下载文件时,我都会遇到此错误:

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

这是代码

    Response.ClearContent();
    Response.ClearHeaders();

    Response.AppendHeader("Content-Disposition", 
    string.Format("filename=Relatorio.{0}", "xlsx"));
    Response.ContentType = "application/vnd.ms-excel";
    Response.BinaryWrite(File_Converted_toBytes);
    Response.Flush();
    Response.End();

如果我创建一个新项目,例如,一个 Web 表单项目,然后只创建一个空白页面,其中有一个带有此代码的按钮,一切正常。

有人知道吗?

启动下载的按钮必须触发完整的回发。在 UpdatePanel 中,除非您执行以下操作,否则这是不可能的:

<asp:UpdatePanel runat="server">
    <Triggers>
        <asp:PostBackTrigger ControlID="YourControlID" />
    </Triggers>
    <ContentTemplate>
        .....
    </ContentTemplate>

您是否尝试像这样访问 "my page" 内的更新面板?

UpdatePanel up = (UpdatePanel)Master.FindControl("updadepanelID");