c#文本框本身没有刷新

时间:2015-08-05 08:02:43

标签: c# asp.net textbox

我有一个文本框,我想从我的代码中更新它的文本。 在这个例子中。我有一个文本框和一个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();
}

2 个答案:

答案 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();
}