You may need to have a
Static
list. Here is an example.
public class TestData
{
public string Name { get; set; }
public TestData(string name)
{
this.Name = name;
}
}
public class TestDataList
{
public static IDictionary<string,IList<TestData>> dataList=new Dictionary<string,IList<TestData>>();
}
Then in your form
protected void Page_Load(object sender, EventArgs e)
{
if (TestDataList.dataList.ContainsKey(Session.SessionID) == false)
{
TestDataList.dataList[Session.SessionID] = new List<TestData>();
}
TestData data1 = new TestData("Test1");
TestData data2 = new TestData("Test2");
TestDataList.dataList[Session.SessionID].Add(data1);
TestDataList.dataList[Session.SessionID].Add(data2);
GridView1.DataSource = TestDataList.dataList[Session.SessionID];
GridView1.DataBind();
}
Caution: This static list persists in the server. So you may need to have clean up thread running and remove the objects of non existing session ids. Or after use remove it explicitly