母版页中更新面板内的 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");
我有一个带有母版页的 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");