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