存储RowEditing的ID,而不是索引
本文关键字:索引 RowEditing ID 存储 | 更新日期: 2023-09-27 18:16:17
在我的应用程序中,我为用户提供了搜索数据库的选项。当他们点击编辑时,我希望GridView通过存储其ID只显示他们正在更新的行。
我正在尝试下面的代码,但它除了Control之外没有返回任何东西。
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
string value = GridView1.Rows[e.NewEditIndex].Cells[3].ToString();
}
关于如何存储我正在寻找的值的任何想法?
使用单元格的Text属性
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
string value = GridView1.Rows[e.NewEditIndex].Cells[3].Text;
// or
string value = GridView1.Rows[e.NewEditIndex].Cells[3].Value;
}
或者,如果您已经将控件声明为<TemplateField>
,并试图获取其值,则尝试
string value = ""
Label lblID = (Label)GridView1.Rows[e.NewEditIndex].FindControl("lblID");
value = lblID.Text;
另一种选择是为gridview添加DataKeyNames="ID"
,您可以使用
// assuming that the value of your datakey is numeric value
long Id = long.Parse(GridView1.DataKeys[e.NewEditIndex].Values["ID"].ToString());
注意:DataKeyNames
属性可以添加多个逗号分隔值