我试图使用下面的变量向GridView添加动态行。
private static ThreadLocal<List<Product>> productList = null;
下面是动态添加行的事件处理程序。
protected void Button1_Click(object sender, EventArgs e)
{
if (productList == null || productList.Value == null)
{
productList = new ThreadLocal<List<Product>>(() => new List<Product>());
}
productList.Value.Add(new Product { ProductID = 100, ProductName = "Product " + Thread.CurrentThread.Name, UnitPrice = 5000 });
GridView1.DataSource = productList.Value;
GridView1.DataBind();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public decimal UnitPrice { get; set; }
}
我点击了添加行的按钮。问题是最多5-6行,数据正确加载,然后再次行变为1,之后再次出现多行。所以我假设线程仍然在这里横切,数据在两者之间消失,这是不期望使用ThreadLocal&lt;&gt;。任何意见?