最好的方法“更少的时间”使用实体框架插入批量插入,不包括两个相干表的重复记录?-英雄云拓展知识分享
374
2024-01-22
我想在程序中采取一些行动。虽然这些动作运行,但我想告知客户这些动作正在进行中。在此进程结束后,我想将此文件发送到客户端,例如excel文件。我最大程度地减少了我的项目,以确切显示问题在哪里
现在,这是我的问题:Button1不起作用,而Button2正常工作为何?和如何解决?或许有更好的解决方案?
这是我的ASPX Clint代码:
<form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>

<asp:Button ID="Button1" runat="server" Height="38px" onclick="Button1_Click" Text="Button" Width="167px" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
The report is creating please wait...
</ProgressTemplate>
</asp:UpdateProgress>
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
</form>
接下来是我的代码
public partial class WebForm1 : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e)
{}
protected void Button1_Click(object sender, EventArgs e)
{
Thread.Sleep(5000);
sendBackToUser();
}
protected void Button2_Click(object sender, EventArgs e)
{
sendBackToUser();
}
private void sendBackToUser()
{
FileInfo file = new FileInfo(@"C:\F\f.xlsx");
if (file.Exists)
{
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + @"C:\F\f.xlsx");
Response.AddHeader("Content-Type", "application/Excel");
Response.ContentType = "application/vnd.xlsx";
Response.AddHeader("Content-Length", file.Length.ToString());
Response.WriteFile(file.FullName);
Response.End();
}
else
{
Response.Write("This file does not exist.");
}
}
}
虽然UpdatePanel是一个非常适合的解决方案 您之前的问题,您疏忽了您也试图启动文件下载(您确切在评论中说了一些话,但我不明确地理解您)。
Button1的问题是由于UpdatePanel并未触发页面的完全回发 - 它仅发布了更新Panel的内容。
依照 有关更新和下载的答案,您需要触发完全的后备:
这样更改您的UpdatePanel:
<asp:UpdatePanel runat="server" id="UpdatePanel1"><Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
...
</ContentTemplate>
</asp:UpdatePanel>
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~