我需要在页面上重新加载一些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 :(得分:0)
你必须使用jQuery AJAX函数。
你必须创建一个你要在ajax中调用的文件并发布到你的div。
有一个例子:
AJAX部分(在JS中):
var oAjaxCall = $.ajax({
type: "POST",
url: "./someAction.php",
success: function(data){
$('#refreshDiv').html(data);
}
});
data
是someAction.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);