使用ASP.NET中的静默刷新实时将数据加载到网格 [英] Real time loading data to grid with silent refresh in ASP.NET

查看:126
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆