我的sql server数据库上有这个表:
我有2位用户:
我希望当用户B在表中插入新记录时,在用户A gridView中显示
我用这个解决方案:
用户Web浏览器具有以下代码:
<script type="text/javascript">
$(document).ready(function () {
setTimeout("RefreshPage()", 5000);
});
function RefreshPage() {
/* var url = "GetOrder.aspx";
$(location).attr("href", url);
*/
location.reload();
};
</script><br/>
该代码每5秒刷新一次用户A网页并在页面加载事件中编写一个简单的代码来运行选择查询并在gridview中显示。
这种方法非常疯狂地解决了这个问题
我可以使用其他解决方案吗?
答案 0 :(得分:2)
您的代码刷新整个页面。使用下面的代码,它将只刷新包含。 :)
<asp:ScriptManager ID="scp1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<asp:GridView ID="yourGrid" runat="server"></asp:GridView>
<asp:Button id="btnAutoRefresh" runat="server" style="display:none"
onclick="btnAutoRefresh_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<script type="text/javascript">
$(document).ready(function () {
setInterval("RefreshPage()", 5000);
});
function RefreshPage() {
$("#<%=btnAutoRefresh.ClientID %>").trigger("click");
};
</script>
// code behind
protected void btnAutoRefresh_Click(object sender, EventArgs e)
{
// code for Bind Grid
}
答案 1 :(得分:0)