将GridView绑定到ASP.Net Web应用程序中的ObservableCollection

时间:2012-11-08 10:19:24

标签: asp.net data-binding gridview datasource observablecollection

我正在开发我的第一个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");
}

希望有人可以帮助我。

谢谢!

0 个答案:

没有答案