Давайте сначала разберемся, что происходит: ваша страница генерируется на сервере, отправляется в браузер, где она отображается, а затем при каждом обновлении запрашивается сервер, и в это время LiteralControl
добавлено к phTotalQueue
и phTotalQueueM
соответственно. Каждый раз, когда это выполняется, элементы управления, уже существующие в phTotalQueue
и phTotalQueueM
, соответственно, будут оставаться там, отображая более старые значения, но создается новый такой элемент управления, отображающий новое значение помимо более старых значений. Я хотел бы советовать вам убедиться, что у вас есть LiteralControl
в ваших UpdatePanel
с ID
:
<asp:UpdatePanel ID="upTQ" runat="server">
<Triggers><asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /></Triggers>
<ContentTemplate>
<span style="font-size: 15px; font-weight: 900;">OFFLINE : <asp:PlaceHolder runat="server" ID="phTotalQueue"><asp:Literal ID="phTotalQueueText" runat="server"></asp:Literal>
</asp:PlaceHolder> / ONLINE : <asp:PlaceHolder runat="server" ID="phTotalQueueM"><asp:Literal ID="phTotalQueueMText" runat="server"></asp:Literal></asp:PlaceHolder></span>
</ContentTemplate>
</asp:UpdatePanel>
Теперь, так как у вас есть идентифицируемые LiteralControl
экземпляры, давайте изменим код:
phTotalQueueText.Text = "" & dtTO.Rows(0).Item("TotalOrderOffline") & ""
и
phTotalQueueMText.Text = "" & dtTO2.Rows(0).Item("TotalOrderOnline") & ""
В качестве альтернативы вы можете удалить старые элементы управления из ваших UpdatePanel
s или найти их и изменить их атрибут Text
, но это ненадежные способы, и я рекомендую использовать идентифицируемые теги.