c# - ASP NET 以间隔更新标签,取决于代码隐藏处增加的 INT
问题描述
我正在尝试为此寻找解决方案。
我有启动 foreach 的按钮,通过 API 插入一些记录,大约需要 2-6 分钟。与此同时,我加载了 gif 和消息(到目前为止效果很好),在 foreach 循环中我得到了 int++,所以我知道到目前为止我处理了多少条记录 - 这个 int 我需要以更新间隔显示在 aspx 页面中,以便用户可以看到如何迄今为止处理了许多记录。
页面
<asp:UpdatePanel ID="processedUpdate" runat="server">
<ContentTemplate>
<div class="row">
<div class="col-sm-12" style="text-align: center">
Processed:
<asp:Label ID="lblProcDone" runat="server"></asp:Label>
/
<asp:Label ID="lblProcLeft" runat="server"></asp:Label>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="timerProcessed" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
代码隐藏
public int progressedItems = 0;
public int emailsCountAll = 0;
protected void btnUpdateContactsMailchimp_Click(object sender, EventArgs e)
{
//Class_MySQLProvider msp = new Class_MySQLProvider();
//List<string> ls = msp.emailsLists();
List<string> ls = new List<string>() { "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com", "d23vejrik@gmail.com", "s23vejrik@gmail.com", "jakub.vejrik23@gmail.com" };
var client = new RestClient("x");
var request = new RestRequest(Method.POST);
int emailNotImportCount = 0;
int emailImportCount = 0;
emailsCountAll = ls.Count;
//for each
foreach (string item in ls)
{
request.AddHeader("Authorization", "Basic x");
request.AddHeader("Content-Type", "application/json");
JsonObject jobj = new JsonObject();
jobj.Add("email_address", item);
jobj.Add("status", "subscribed");
request.AddParameter("undefined", jobj.ToString(), ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
request.Parameters.Clear();
if (response.StatusCode.ToString() == "OK")
{
emailImportCount++;
}
else
{
emailNotImportCount++;
}
progressedItems++;
}
timerProcessed.Enabled = false;
lblCountImport.Text = emailImportCount.ToString();
lblCountNotImport.Text = emailNotImportCount.ToString();
alertDuplicityMailImport.Visible = true;
alertSuccessMailImport.Visible = true;
}
protected void timerProcessed_Tick(object sender, EventArgs e)
{
lblProcDone.Text = progressedItems.ToString();
lblProcLeft.Text = emailsCountAll.ToString();
}
最好的问候 Jakub,谢谢。
解决方案
推荐阅读
- python - 如何将 SSL 与仅通过 ssl 连接从客户端计算机连接的 SQLAlchemy 使用?
- c# - 在 chrome 响应式模拟器中重定向更改用户代理
- javascript - 如何从一组数据项中创建一个对象?
- c# - Asp.net核心将DTO属性中的JSON对象传递给控制器
- excel - 一旦语句为 TRUE,如何停止计算 google sheet 公式?
- javascript - 通过在 JS 中关闭浏览器来销毁会话时如何触发一些功能?
- flutter - 我收到一个 ERROR:flutter/lib/ui/ui_dart_state.cc(199) 吸气剂长度错误
- vue.js - vue cli 服务不会向库中添加新组件
- stm32 - 基于stm32的spi多机通信
- c - 使用附加值扩展枚举(后续问题)