Asp.net 嵌套的Foreach循环不工作?

Asp.net 嵌套的Foreach循环不工作?,asp.net,loops,datagridview,foreach,Asp.net,Loops,Datagridview,Foreach,我有两个数据网格。两者都带有复选框。我有一个嵌套的foreach循环,它从两个数据网格中获取两个已检查人员的DataKeys值。当我运行调试器时,第一个数据键被分配给正确的变量oIdividualID。这很好。第二个foreach循环从下一个datagrid获取datakey。那也行。但是,它并没有将其分配给变量oNewParentID。在我的代码的底部,在调试中,我调用的方法正确地保存了oIndividualID的值,但是oNewParentID保存了NO值?我的嵌套foreach循环有什么问

我有两个数据网格。两者都带有复选框。我有一个嵌套的foreach循环,它从两个数据网格中获取两个已检查人员的DataKeys值。当我运行调试器时,第一个数据键被分配给正确的变量oIdividualID。这很好。第二个foreach循环从下一个datagrid获取datakey。那也行。但是,它并没有将其分配给变量oNewParentID。在我的代码的底部,在调试中,我调用的方法正确地保存了oIndividualID的值,但是oNewParentID保存了NO值?我的嵌套foreach循环有什么问题吗?我不明白。这是我的密码:

protected void imgbtnReassgin_Click(object sender, ImageClickEventArgs e)
{
    foreach (GridViewRow row in gvAdminCustomer.Rows)
    {
        CheckBox cb = (CheckBox)row.FindControl("chkitemSelectorCustomers");
        if (cb != null && cb.Checked)
        {
            int oIndividualID  = Convert.ToInt32((gvAdminCustomer.DataKeys[row.RowIndex].Value));

            foreach (GridViewRow r in gvReassignCustomers.Rows)
            {
                CheckBox chkBox = (CheckBox)row.FindControl("chkitemSelectorAllManagersandSalesman");
                if (chkBox != null && chkBox.Checked)
                {
                    int oNewParentID = Convert.ToInt32((gvReassignCustomers.DataKeys[r.RowIndex].Value));
                    Individual ind = new Individual();
                    ind.ReassignIndividual(oIndividualID, oNewParentID);
                }
            }
            gvReassignCustomers.DataBind();
            gvAdminCustomer.DataBind();
        }
    }
}

很难理解代码的用途-对于管理网格中每个选中的复选框,您在每个选中的重新分配网格上运行重新分配。这真的是目的吗

然后对管理网格中的每一行运行DataBind()

所以


注释掉数据绑定()-这里不需要它们,它只是告诉系统将数据重新绑定到网格,这可能会清除用户勾选的复选框

不太清楚发生了什么,但突然一切都开始起作用了。问题已解决,但不确定如何解决。

是。这就是目的。如果我理解正确的话。选中1格中的复选框。勾选网格2中的复选框。将从网格1检索到的值分配给变量OIndividualID。(有效)并将从网格2中检索到的值分配给varaible oNewParentID(无效)。我不明白为什么它不起作用。第二个foreach循环与第一个完全相同。然而第一个有效,第二个无效。我不明白。