2015-12-02 96 views
1

我需要重新加载页面上的一些div,我做了一些研究,其中大部分都表示jQuery是最简单的方法。但我从来没有使用过jQuery。刷新时间间隔

任何人都可以帮助我吗?

对不起,这个暧昧的问题。让我缩小它有点

HTML

<div style="height:400px; float:left" id="test"> 
    <table border="0" width="" style="table-layout: fixed; height: 400px;" > 
     <tr> 
      <td align="center" style="font-size:xx-large; width: 283px; font-family: Rockwell;border-color:#3366CC; border-style:solid" bgcolor="#3366CC"> 
       <asp:Label ID="lblHeaderLoket" runat="server"></asp:Label> 
      </td> 
     </tr> 
     <tr> 
      <td align="center" style="font-size:xx-large; font-family: 'Segoe Script'; width: 283px;border-color:#3366CC; border-style:solid"> 
       <asp:Label ID="lblHeaderPlatNumber" runat="server"></asp:Label> 
      </td> 
     </tr> 
    </table> 
</div> 

C#

private void BindHeaderObject() 
{ 
    CriteriaComposite cc = new CriteriaComposite(new Criteria(typeof(BoardQueue), "RowStatus", (short)DBRowStatus.Active)); 
    cc.And(new Criteria(typeof(BoardQueue), "Status", (short)CallCustomerStatus.Open)); 

    Collection<BoardQueue> collBoardQueue = new ServiceFacade(User).SelectList<BoardQueue>(cc); 

    if (collBoardQueue.Count != 0) 
    { 
     Counter counter = new ServiceFacade(User).SelectById<Counter>(collBoardQueue[0].CounterID); 

     lblHeaderLoket.Text = counter.Name; 
     lblHeaderPlatNumber.Text = collBoardQueue[0].PlatNumber; 
    } 
    else 
    { 
     lblHeaderLoket.Text = "-"; 
     lblHeaderPlatNumber.Text = "-"; 
    } 
} 

笏我想是刷新只有div的,而不是整个页面。每次刷新时,它都会从数据库中获取最新数据。

+0

会有什么'refresh'吗? – void

+0

@void所以我有一个gridview里面的数据是从数据库的数据库。所以每次刷新我希望它从数据库中获得新数据 –

+0

为此,你应该准备好'AJAX' – void

回答

0

您将不得不使用jQuery AJAX函数。

你必须创建一个文件,你要在ajax中调用并发布到你的div。

有一个为例:

AJAX一部分(在JS):

var oAjaxCall = $.ajax({ 
    type: "POST", 
    url: "./someAction.php", 
    success: function(data){ 
     $('#refreshDiv').html(data); 
    } 
}); 

datasomeAction.php回归。请记住:您不能在someAction.php中执行“退货”。如果您使用PHP或通常在HTML中显示,则应使用echo来回显您的内容。

,将创建内容(someAction.php)文件:如果你想叫它1分钟的后为例,使用的setInterval()

echo 'Hello world !'; 

;

Here的jQuery Ajax函数文档,你可以找到setInterval函数here的文档。

如果你愿意,我可以写一个小功能,向您展示如何做到这一点:)

+0

我忘了告诉你。 'data'是'someAction.php'的返回。如果你不明白我的答案,但很抱歉,我不会说英语。 – SatanicGeek

+1

你可以编辑你的答案并添加此评论。 –

+0

Wow'SatanicGeek'...你必须使用'eval()'很多 –

0

1. jQuery的方法

我看到,有没有点,如果你正在使用ASP。网络服务器控件更新客户端控件中的表。 我建议使用jQuery Ajax来调用一个Web方法,该方法返回更新数据并将其列在HTML表格中。这比使用服务器控制更轻量级的解决方案。

2.服务器控制方法

您通过刷新div每个区间意味着可能会使用UpdatePanel服务器控制什么。您将GridView放入ContentTemplateUpdatePanel之内。并将UpdateMode设置为conditional

最终,您的UpdatePanel将呈现为div。你可以给它命名任何类。

虽然,您也有一个Timer控件,它会更新您的UpdatePanelx秒。

0

如果您希望在每隔“N”秒间隔后重新加载Div/Table数据,请使用jQuery SetInterval方法。

在设置的Interval内部,您可以调用Ajax调用并更新Ajax成功块中的数据。

例:

setInterval(function(){ 
$.ajax({ 
url: "YouUrl", 
success: function(response){ 
    //Code to update the Table or Div 
} 

}); 

}, 3000);