间隔刷新div

时间:2015-12-02 07:43:15

标签: jquery asp.net ajax

我需要在页面上重新加载一些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,而不是整个页面。每次刷新时,它都会从数据库中获取最新数据。

3 个答案:

答案 0 :(得分: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):

echo 'Hello world !';

如果您想在1分钟后调用它,请使用setInterval();

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

如果你愿意,我可以写一个小功能来告诉你如何做到这一点:)

答案 1 :(得分:0)

<强> 1。 jQuery方法

如果您使用asp.net服务器控件更新客户端控件中的表,我认为没有意义。 我建议使用jQuery Ajax来调用web方法,该方法返回更新数据并在HTML中将其列在表中。这是比使用服务器控件更轻量级的解决方案。

<强> 2。服务器控制方法

每个时间间隔刷新div的含义可能是使用UpdatePanel服务器控件。您将GridView置于ContentTemplate UpdatePanel内。并将UpdateMode设置为conditional

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

同时,您还拥有Timer控制权,可在UpdatePanel秒内更新x

答案 2 :(得分:0)

如果您想在每个&#34; N&#34;之后重新加载Div / Table数据。秒间隔,使用jQuery SetInterval方法。

在Set Interval中,你可以调用Ajax调用并更新Ajax Success Block中的数据。

例如:

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

}); 

}, 3000);
相关问题