2

我遇到的问题是:我有一个带有列表对象的 GridView 作为其数据源,它绑定没有问题。我有一个具有事件的 DropDownList SelectedIndexChanged,并且通过此事件,我将一个新对象添加到列表中,添加后我想做一个GridView1.Databind(),以便新对象出现在 GridView 中。

但这不起作用,在我执行GridView1.Databind()GridView 中的数据后丢失了。它甚至显示EmptyDataText,但如果我刷新页面,一切都会出现。此外,DropDownList 使用对象列表作为 DataSource 并且应该使用DropDownList1.Databind()但它也不起作用。在 DataBinding 之后它具有相同的数据,我至少纠正 DropDownList 所做的就是设置DropDownList again manually.DataTextField = object.attribute1and DropDownList.DataValueField = object.attribute2。但是对于我被卡住的 GridView,有人可以解释该方法如何DataBind与对象列表一起使用吗?

4

2 回答 2

1

首先刷新asp:GridView绑定到列表的 gridView.DataSource 属性。

 gridView.DataSource = mylist;
 gridView.DataBind();

对于非数据库数据,这意味着列表本身必须保存在会话变量或 ViewState 中。

于 2012-09-18T18:17:31.870 回答
0

我记得很久以前有这个问题。我猜问题是您在 UpdatePanel 中没有 GridView。

如果是这种情况,GridView 不会立即刷新并显示更改。下拉菜单的位置有些棘手(我认为它也必须在面板中),但我相信您可以通过在 UpdatePanel 上进行一些快速搜索来弄清楚。

于 2012-09-18T18:00:39.367 回答