日期:2014-05-17  浏览次数:20420 次

ajax定时刷新页面无产闪烁/局部刷新 !急!
 

 使 整个页面不闪

  <asp:UpdatePanel ID="Up" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
不刷新  
  </ContentTemplate>
  </asp:UpdatePanel>
  

  <asp:UpdatePanel ID="定时刷新内容" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
<asp:Label ID="Label7" runat="server"></asp:Label>
定时刷新内容
  </ContentTemplate>
  </asp:UpdatePanel>


使 整个页面不闪 怎么做?

<asp:Timer ID="Timer1" runat="server" Interval="100" 

OnTick="Timer1_Tick"></asp:Timer>

------解决方案--------------------
保证你的系统时间是正确的,再看看你的页面

你试试

如果原因是这个,我再告诉你结果
------解决方案--------------------
把你要刷新的页面内容放入到单独的页面中,不要html的头尾,然后用jq定时调用就好了,用异步快而且简单,。net的控件实现机制太过复杂难懂,完全受控于平台。给段代码参考下。

setTimeout(function(){

 var urlPara = { classid:0, GMT: new Date().getTime() };
var url = "CheckApply.aspx";
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
url: url,
data: urlPara,
success: function(result) {
var json = decodeURIComponent(decodeURIComponent(result));
json = eval("(" + json + ")");
if (json.isreyes=="1") {

...
}}

},time);
------解决方案--------------------
在一个页面里填加几个UpdatePanel控件和ScriptManager控件可以实现页面的局部更新

 

下面例子实现在页面上显示时间,时间会即时根据电脑时间更新

 

[xhtml] view plaincopy
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>

 

 

ContentTemplate标签用于定义UpdatePanel的内容,期间可以包含所有ASP.NET控件

Interval属性用于定义timer控件刷新时间,单位为毫秒 1000为1000毫秒(1秒) 刷新一次

 

实现时间及时更新需要给Lable赋值:在Timer1_Tick方法中实现。

Lable1.text=DateTime.Now.ToString();

 

完成后,页面会每一秒刷新页面并在页面中显示当前时间