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

母版页更新面板内的C#下载按钮,c#,updatepanel,master,C#,Updatepanel,Master,我有一个web表单,它有一个母版页,这个母版页使用一个更新面板 问题是,每当我尝试下载文件时,都会出现以下错误: 无法计算表达式,因为代码已优化或本机帧位于调用堆栈顶部 这是密码 Response.ClearContent(); Response.ClearHeaders(); Response.AppendHeader("Content-Disposition", string.Format("filename=Relatorio.{0}", "xlsx")

我有一个web表单,它有一个母版页,这个母版页使用一个更新面板

问题是,每当我尝试下载文件时,都会出现以下错误:

无法计算表达式,因为代码已优化或本机帧位于调用堆栈顶部

这是密码

    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表单项目,只创建一个空白页面,其中有一个按钮,里面有一个this代码,那么一切都很好


有人知道吗?

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

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

.....

您是否尝试像这样到达“我的页面”中的更新面板

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

好的,但是在我的页面中无法访问更新面板。因为我有一个带有UpdatePanel的母版页,然后是我的我的页面你可能想在你的页面加载-
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(this.YourControlID)上试试这个乐于帮助,如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。