DataGrid_B放在一个自定义web控件(例如GridB.ascx)里思路回比较清晰;
控件里写一个读数据的方法public void LoadData(string parentid)
                        {
                               ViewState[this.ClientID+"_ID"] = parentid;
                               BindGrid();//绑定
                         }
控件内部就可以处理翻页,甚至新增修改等功能      
DataGrid_A里的模板列里加入GridB,
DataGrid_A_ItemDataBound(...)
{
   if(e.Item.ItemIndex>-1)
   {
         string parentID = e.Item.Cells[0].Text;
         GridB tmp = e.Item.FindControl("GridB1") as GridB;
         tmp.LoadData(parentID);
   }
}
主页面就不用管控件内部的事情了