在LinkBut​​ton单击时获取嵌套gridview的DataKey值

时间:2018-05-03 10:01:46

标签: c# asp.net

我有一个嵌套的gridview。在嵌套网格视图中单击linkbutton时,如何获取DataKey值。下面的代码仅适用于gridview而不适用于嵌套的gridview。 父GridView名称是GridView 1,子名称是GridView2

protected void lbCode_Click(object sender, EventArgs e)
{
    GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
    GridView gv = new GridView();
    gv = (GridView)clickedRow.FindControl("GridView2");
    string lbCode = gv.DataKeys[clickedRow.RowIndex].Values[0].ToString();
}

1 个答案:

答案 0 :(得分:0)

假设GridView和嵌套网格视图中的LinkBut​​ton都使用lbCode_Click,您需要找到属于已被单击的LinkBut​​ton的GridView,以获得正确的DataKey。

所以再次在NamingContainer

上使用GridViewRow
protected void lbCode_Click(object sender, EventArgs e)
{
    GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
    GridView gv = clickedRow.NamingContainer as GridView;
    string lbCode = gv.DataKeys[clickedRow.RowIndex].Values[0].ToString();
}