使用ASP.NET中的静默刷新实时将数据加载到网格 [英] Real time loading data to grid with silent refresh in ASP.NET
本文介绍了使用ASP.NET中的静默刷新实时将数据加载到网格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用静默刷新实现实时将数据加载到网格视图ASP.Net。对于这个东西,我尝试下面的代码。
我尝试过:
Default.aspx 页
I am trying to implement Real-time loading data to the grid view with a silent refresh in ASP.Net. For this stuff, I tried below code.
What I have tried:
Default.aspx page
<script type="text/javascript">
function EndGetData(arg) {
document.getElementById("divScroll").innerHTML = arg;
}
setTimeout("<%=CallbackRef %>", 100)
</script>
<div id="divScroll">
<asp:GridView ID="Grid" BorderColor="Turquoise" runat="server">
</asp:GridView>
</div>
Default.aspx.cs Page
Default.aspx.cs Page
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default3 : System.Web.UI.Page,ICallbackEventHandler
{
public string CallbackRef;
public string _Callback;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsCallback)
{
CallbackRef = ClientScript.GetCallbackEventReference(this, "'bindgrid'", "EndGetData", "'asyncgrid'", false);
}
}
public void GetAuditData()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
DataRow r = dt.NewRow();
r[0] = "1";
r[1] = "ABCD";
DataRow r1 = dt.NewRow();
r1[0] = "2";
r1[1] = "XYZD";
DataRow r2 = dt.NewRow();
r2[0] = "3";
r2[1] = "123D";
dt.Rows.Add(r);
dt.Rows.Add(r1);
dt.Rows.Add(r2);
Grid.DataSource = dt;
Grid.DataBind();
}
public string GetCallbackResult()
{
return _Callback;
}
public void RaiseCallbackEvent(string eventArgument)//This function aceepts only one argument: That too only String Argument:
{
GetAuditData();
using (System.IO.StringWriter sw = new System.IO.StringWriter())
{
Grid.RenderControl(new HtmlTextWriter(sw));
_Callback = sw.ToString();
}
}
}
你能否建议我们或者给我一个代码示例,例如https://demos.devexpress.com/aspxgridviewdemos/databinding/Live.aspx.
Can you please suggest us or give me an example of code to do like https://demos.devexpress.com/aspxgridviewdemos/databinding/Live.aspx.
推荐答案
最简单的做法这是将你的gridview放在一个asp:UpdatePanel并使用一个asp:Timer
教程:如何以定时间隔刷新UpdatePanel控件 [ ^ ]
Simplest way of doing this is to put your gridview in an asp:UpdatePanel and use a asp:Timer
Tutorial: How to refresh an UpdatePanel control at a timed interval[^]
这篇关于使用ASP.NET中的静默刷新实时将数据加载到网格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文