Я бы предложил вам создать 2 текстовых поля: одно для ввода и другое для вывода.Один для ввода должен быть размещен вне панели обновления, поэтому он никогда не будет обновляться.Также вам нужно будет добавить это текстовое поле или кнопку отправки в качестве триггера на панель обновлений.Аналогично этому примеру
Вот код, который я пробовал, и он работает:
Aspx:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="2000" Enabled="True">
</asp:Timer>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" Text="Submit" runat="server" OnClick="Button1_Clicked" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="" />
</ContentTemplate>
</asp:UpdatePanel>
И C #:
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
}
protected void Button1_Clicked(object sender, EventArgs e)
{
Label1.Text = String.Format("{0}: {1}", DateTime.Now.ToString(), TextBox1.Text);
}