我正在开发我的第一个 ASP.Net Web 应用程序,我学到了很多东西,但是我有一个我无法弄清楚的问题。
我有一个带有集合作为数据源的 GridView,如果我将 GridView 绑定到集合,它可以正常工作:
List<string> l = new List<string>();
l.Add("hello");
l.Add("world");
GridView1.DataSource = l;
GridView1.DataBind();
但问题是,当我向列表中添加一个新项目时,它没有显示在网格中,我已经读到这是正常的,在执行 GridView1.DataBind(); 后会发生变化;不会添加到网格中。
我做了一些研究,发现我可以使用 ObservableCollection 来做到这一点,如果将 ObservableCollection 绑定到 GridView 并添加新项目,则更改也应该发生在 GridView 中。我已经这样做了:
ObservableCollection<string> o = new ObservableCollection<string>();
o.Add("hello");
o.Add("world");
GridView1.DataSource = o;
GridView1.DataBind();
当我运行应用程序时它工作正常,显示数据,但我添加了一个按钮,并在点击事件中,我向 ObservableCollection 添加了一个新元素,但它没有出现在网格中,我没有知道为什么。
protected void Button1_Click(object sender, EventArgs e)
{
o.Add("test");
}
希望有人可以帮助我。
谢谢!!