【问题标题】:Reload datatable without reloading page?重新加载数据表而不重新加载页面?
【发布时间】:2012-12-30 14:53:28
【问题描述】:

如何在不重新加载整个页面的情况下重新加载数据表?我希望它从“AllSales”中获取新值。我还在为我的表使用 jquery 插件“datatable”。

   $("#SalesTable").dataTable();

这是我的桌子:

<table id="SalesTable">
                        <thead>
                            <tr>
                                <th>Date</th>
                                <th>Email</th>
                            </tr>
                        </thead>
                        <tbody>
                          <% {
                                foreach (var item in AllSales)
                                {
                                   %>
                                   <tr>
                                     <td><%=item.Date %></td>
                                     <td><%=item.Email%> </td>
                                   </tr>
                                <%}
                            }
                         %>

                        </tbody>
                    </table>

【问题讨论】:

  • 您希望在设定的时间或事件发生重新加载吗?
  • @KG Christensen:每次我都有新的促销活动等等。
  • 好的,但是销售从哪里来?你正在制作什么样的页面?它应该监控“所有销售”吗?
  • 我有一个后台线程来计算我的数据库中的销售额,如果计数器从上次保存的值增加,那么我们就有了销售额。此页面仅显示销售,如果有新销售,我希望它也能显示,而无需重新加载页面。
  • 如果后台有东西在检查更新,那不就是再次调用构建数据表的函数那么简单吗?

标签: jquery asp.net .net


【解决方案1】:

使用 ajax 获取数据,将其放入对象中,然后根据对象动态更改数据表的内容。我已经多年没有使用任何 .net 语言了,所以我不能用 asp 给你写一个例子。

<html>
<tbody id='datatable'>
</tbody>
</html>

var tbodyData;
var post = $.ajax({
 url: "someurl.asp",
 type: "POST",
 data: {"some data"},
 success: function() {
  var object = post.responseText;
  object.parseJSON();
  for (data in object) {
   tbodyData += "<tr><td>" + object[data] + "</td></tr>\n";
  }
  $("datatable").html(tbodyData);
 }
});

应该这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-07
    • 2015-01-21
    • 2021-12-23
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多