我有一个文本框,我想从我的代码中更新它的文本。 在这个例子中。我有一个文本框和一个db进程函数。在此db进程之前,我编写了文本框,并在进程再次写入文本框之后。 该过程运行良好,但文本框不会自行刷新
我必须做什么?
此代码无效:
屏幕方:
<asp:TextBox ID="lblA" Text="0" runat="server" />
代码方:
protected void Page_Load(object sender, EventArgs e)
{
CalcSummary();
// this function doing somethings on DB
MultiplePayrollUndo(lstCemp);
CalcSummary();
}
private void CalcSummary()
{
lblA.Text="its a select count result from DB and its correct".ToString();
}
答案 0 :(得分:0)
当Page_Load运行时,不会立即显示任何内容。
您可以在客户端进行间隔检查,并通过Javascript更改文本框值。
在进程端添加事件处理程序以更改属性/标志,指示数据库进程的状态,页面可以读取。
如果你想手动运行流程(通过按钮,链接......),在PageLoad上尝试显示第一个值,在结束数据库流程之后,你必须刷新页面。
答案 1 :(得分:0)
“VojtaNovák”给了我一个想法。感谢。
我改变了我的屏幕和代码。 它运行就像我需要的那样。
屏幕方面:
<asp:UpdatePanel ID="Panel1" GroupingText="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:TextBox ID="lblA" Text="0" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
代码方:
protected void Page_Load(object sender, EventArgs e)
{
CalcSummary();
// this function doing somethings on DB
MultiplePayrollUndo(lstCemp);
CalcSummary();
}
private void CalcSummary()
{
lblA.Text="its a select count result from DB and its correct".ToString();
Panel1.Update();
}