我有一个带有计时器的母版页,显示服务器时间并每秒刷新一次,在内容页面上我有一个带有ajax的聊天程序,每隔一秒刷新一次以获取最后输入的消息。
我有一个Html TextBox和一个隐藏的提交按钮,当用户写一个文本,并点击回车,我检查是否这是回车键,然后提交消息,它在IE中完美运行,但在FireFox和Opera两次显示相同的消息。
我认为问题是Timer,有没有办法在这个特定的内容页面中避免使用MasterPage计时器?
提前致谢
答案 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;
}