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