编辑方法:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
}
更新方法:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int _selectedRowIndex = e.RowIndex;
int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value;
string updatedAmenity = GridView1.Rows[_selectedRowIndex].Cells[0].Text;
}
NB:我注意到一个奇怪的事情,当我点击编辑它重新加载页面但不会编辑该行,所以我再次点击它并且它工作..这种情况每次发生,它不是一个例外或其他什么!
修改
首先我正在使用一个BoundField ..我发现当我添加一个DataKey时,它为它创建了一个新的字段,即ID,导致问题的原因!所以我只是将0更改为1 ..但是现在我遇到了一个问题,即单元格Text属性返回原始值而不是新值!
答案 0 :(得分:2)
第一期: 获取我刚输入的值而不是原始值
更新方法:使用e.NewValues属性
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int _selectedRowIndex = e.RowIndex;
int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value;
string updatedAmenity = e.NewValues[0].ToString();
}
第二期: 点击两次以使编辑按钮生效
编辑方法:我刚刚调用了绑定网格的方法
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
AmenitiesGridDataBind();
}
感谢您提供帮助=)
答案 1 :(得分:0)
string updatedAmenity = e.NewValues[0].ToString();