我建議你創建2個文本框:一個用於輸入,另一個用於輸出。用於輸入的應該放置在更新面板之外,所以它不會被刷新。您還需要將此文本框或其發送按鈕作爲觸發器添加到更新面板。與此相似example
這裏是我試過的代碼和它的工作原理:
.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);
}
是的,我把兩個文本框那樣,一個內部更新面板和一個外部,但眨眼仍然發生,併發送文本即時消息不使用triguers的事件,但我沒有問題,這個問題只是令人耳目一新。請幫忙。 Tnks – 2010-11-04 20:29:10
我在以前的文章中添加了一些代碼。如果控件在更新面板之外,則不應該有任何閃爍,可能是您做了其他影響您控制的事情? – 2010-11-04 20:48:02
您應該在更新面板外部使用該觸發器按鈕,否則按鈕單擊事件將刷新整個頁面。 – 2010-11-04 21:26:04