gpt4 book ai didi

asp.net - 为什么下载文件在模型弹出窗口中不起作用?

转载 作者:行者123 更新时间:2023-12-04 18:20:30 24 4
gpt4 key购买 nike

我正在打开一些具有这样的代码的面板

 <td rowspan="2">
<br />
<asp:UpdatePanel ID="updatePnl" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkYurLevel" runat="server" ForeColor="#009999" Text="What are my next steps?"
Font-Size="Medium" OnClick="lnkYurLevel_Click"></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</td>

protected void lnkYurLevel_Click(object sender, EventArgs e)
{
if (lblFileName.Text != "")
{
string path = Server.MapPath(@"~\downloads\" + lblFileName.Text);
System.IO.FileInfo file = new System.IO.FileInfo(path);
if (file.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(file.FullName);
Response.End();
}
else
{
Response.Write("This file does not exist.");
}
}

}

在按钮上单击我正在打开一个要下载的文件,但该下载不会出现,因为当它没有保存在要通过模型弹出打开的面板中时它正在工作。
现在,当它被放置在要通过模型弹出窗口打开的面板中时。它不起作用。
是什么原因?

最佳答案

UpdatePanel 中的一个 Action 不会改变整个Response , 只是页面的一部分。所以你不能指望Response.Write去工作。另一种方法是使按钮完全 PostBack
添加 PostBackTriggerasp:Button像这样

<Triggers>
<asp:PostBackTrigger ControlID="lnkYurLevel" />
</Triggers>

或者,如果您想在代码隐藏中执行此操作,请执行此操作。
ScriptManager.GetCurrent(Page).RegisterPostBackControl(lnkYurLevel);

关于asp.net - 为什么下载文件在模型弹出窗口中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com