任务完成后更新ASP.NET标签
本文关键字:ASP NET 标签 更新 任务 | 更新日期: 2023-09-27 18:29:43
好的,所以我已经做了一些搜索,但似乎找不到我想要的东西。我对ASP.NET还很陌生,但对C#还不熟悉。我必须创建一个页面来处理常规的网络服务请求,以便用基于网络的会计软件服务的数据更新网络商店。我遇到的问题是,我需要先加载页面,然后运行更新,否则页面超时,更新失败。显示页面只有几个标签,这就是我所需要的,因为页面会每隔一段时间刷新一次并运行更新。然而,我需要更新方法,以便能够将结果显示在屏幕上。我运行更新没有问题,只是确保显示结果。我没有按下任何按钮,也没有使用任何表格。
这是我的页面代码:
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">
<div class="pageHeader">
<div class="caption">
<h1><asp:Localize ID="Caption" runat="server" Text="Update of Order Status From NetSuite Into AbleCommerce"></asp:Localize></h1>
</div>
</div>
<div>
<asp:Label ID="Label0" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label2" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label3" runat="server"></asp:Label>
</div>
</asp:Content>
这是我的后台代码:
public partial class Template_Default : CommerceBuilder.Web.UI.AbleCommercePage
{
private void PerformUpdate(object State)
{
Store _Store = StoreDataSource.Load(1);
Token.Instance.InitStoreContext(_Store);
String results = PontoonUpdate.soUpdate(); // method that performs the updates
Label3.Text = "Update Completed. " + String.Format("{0:MM-dd-yyyy hh:mm:ss}", DateTime.Now + "'n'n" + results);
}
protected void Page_Load(object sender, EventArgs e)
{
Label0.Text = "Update start time: " + String.Format("{0:MM-dd-yyyy hh:mm:ss}", DateTime.Now);
Label1.Text = "Order updates will begin.";
Label2.Text = "Processing...";
if(!Page.IsPostBack)
System.Threading.ThreadPool.QueueUserWorkItem(PerformUpdate);
}
}
我知道我错过了一些东西,我知道这是因为我缺乏使用ASP.NET的经验。如果有人有任何建议,我将不胜感激。
好吧,我找到了我想做的事情的答案。我在寻找其他东西,发现了这个。。。
http://www.simple-talk.com/dotnet/asp.net/implementing-waiting-pages-in-asp.net/
将控件包装在UpdatePanel中。这是穷人的AJAX。将控件(或整个页面)放入内容模板中。然后在触发器部分,告诉它要监视哪些控件,以及要捕捉哪些事件。它会完成剩下的工作。在你的情况下,从这里开始,你只需要触发某种事件。它可以是在Load上触发按钮的javascript,甚至可以是其他控件的绑定事件。这其实并不重要。
<asp:UpdatePanel runat="server" ID="update">
<ContentTemplate>
<div class="pageHeader">
<div class="caption">
<h1><asp:Localize ID="Caption" runat="server" Text="Update of Order Status From NetSuite Into AbleCommerce"></asp:Localize></h1>
</div>
</div>
<div>
<asp:Label ID="Label0" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label2" runat="server"></asp:Label>
<br /><br />
<asp:Label ID="Label3" runat="server"></asp:Label>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="generate" EventName="Click" />
</Triggers>
</asp:UpdatePanel>