在加载结果时将加载图标添加到GridView行。网络表单c#

在加载结果时将加载图标添加到GridView行。网络表单c#,c#,asp.net,gridview,webforms,C#,Asp.net,Gridview,Webforms,我有一个GridView,它获取IP地址并ping它们并发布结果。页面加载时间太长。我想知道是否有可能在加载数据时在结果列中粘贴一个加载图标,然后在加载完成后用“成功”或“错误”刷新它 您要求的是异步更新。如果您需要将数据推送到网页,请查看信号器。或者你可以试试你能提供一个示例代码吗?我做了一些研究,这看起来是正确的方法。在我包含的链接中有一个示例和完整的描述,说明了如何实现这一点 public partial class ConnectionStatus : System.Web.UI.Pag

我有一个GridView,它获取IP地址并ping它们并发布结果。页面加载时间太长。我想知道是否有可能在加载数据时在结果列中粘贴一个加载图标,然后在加载完成后用“成功”或“错误”刷新它

您要求的是异步更新。如果您需要将数据推送到网页,请查看信号器。或者你可以试试你能提供一个示例代码吗?我做了一些研究,这看起来是正确的方法。在我包含的链接中有一个示例和完整的描述,说明了如何实现这一点
public partial class ConnectionStatus : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            PullData();
        }
    }
    public void PullData()
    {
        string SQLRET = "SELECT RX_ID, ShopID, Primary_IP, ServiceType, Hardware FROM RouterHealthCheck";

        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

        conn.Open();

        SqlDataAdapter da = new SqlDataAdapter(SQLRET, conn);
        DataTable dt = new DataTable();
        da.Fill(dt);
        dt.Columns.Add("Results", typeof(string));

        //iterate the rows and ping each IP. Additionaly you can also code to ignore repeating IP
        foreach (DataRow dr in dt.Columns[0].Table.Rows)
        {
            Ping ping = new Ping();
            PingReply pingreply = ping.Send(dr["Primary_IP"].ToString());

            if (pingreply.Status == IPStatus.Success)
            {
                dr["Results"] = string.Format("Success");
            }
            else
            {
                dr["Results"] = string.Format("Offline");
            }
        }

        GridViewRouters.DataSource = dt;
        GridViewRouters.DataBind();
 }