GridView中的事件,回发和数据绑定丢失

时间:2014-03-05 14:51:13

标签: c# asp.net gridview data-binding

我在用户控件中有一个简单的gridview。

此gridview绑定到只有简单字符串属性的对象类型Foo的列表:

public class Foo
{
      public string MyProperty {get; set;
}

要进行数据绑定,我有以下代码。 MyFoos属性是我绑定的集合。我在托管用户控件的页面的page_load中设置了此属性。 gridMyFoos是相关网格视图的ID。

public List<Foo> MyFoos {get; set;}

    protected void Page_Load(object sender, EventArgs e)
    {
         if (!Page.IsPostBack)
          {
            if (MyFoos != null)
            {
                PopulateGrid();
            }
         }
    }

private void PopulateGrid()
{
        gridMyFoos.DataSource = MyFoos;
        gridMyFoos.DataBind();

}

gridMyFoos中的编辑和删除按钮使用EditItemTemplate的常规旧方法。

这是问题所在。如果我取出!Page.IsPostBack我看到的记录,但RowCommand事件不会触发。如果我把它留在那里,我看不到任何记录。是什么给了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用RowUpdating事件:

GridView gv  = ((GridView)sender);
GridViewRow row = gv.Rows[e.RowIndex];

并且RowEditing事件放了这个:

gvName.EditIndex = e.NewEditIndex;