如何避免内容页面中的主页面刷新

时间:2010-02-13 08:26:35

标签: c# asp.net master-pages chat

我有一个带有计时器的母版页,显示服务器时间并每秒刷新一次,在内容页面上我有一个带有ajax的聊天程序,每隔一秒刷新一次以获取最后输入的消息。

我有一个Html TextBox和一个隐藏的提交按钮,当用户写一个文本,并点击回车,我检查是否这是回车键,然后提交消息,它在IE中完美运行,但在FireFox和Opera两次显示相同的消息。

我认为问题是Timer,有没有办法在这个特定的内容页面中避免使用MasterPage计时器?

提前致谢

2 个答案:

答案 0 :(得分:0)

为了优化性能并减少往返次数,我建议您在启动页面时在服务器上获取时间。然后计算服务器和客户端时钟之间的差异。现在,您可以使用Javascript(仅限客户端,不再向服务器进行往返)来每秒更新屏幕上的时钟。

如果问题是由您提到的主题引起的,这也应解决您的问题。无论如何,我认为你不会每秒都要求服务器时间来自己和你的应用程序用户。

希望这有帮助,

答案 1 :(得分:0)

您可以在母版页上公开计时器,然后访问它:

// On MasterPage
public Timer MyTimer { get { return this._myTimer; } }

// On Content Page
<%@ MasterType VirtualPath="~/MyMaster.master" %>

override OnLoad(EventArgs e) {
    base.OnLoad(e);
    this.Master.MyTimer.Enabled = false;
}