Я оставил свои попытки сделать это в отдельном окне и разработал решение вместо этого, используя AJAX ModalPopupExtender. пример Мэтта Берсета был очень полезным.
Чтобы обновить дочернюю сетку, содержащуюся на панели обновления в родительской сетке, я сохранил значение строки, из которой была нажата кнопка, в переменной сеанса, а затем использовал это значение, которое называется методом привязки данных дочерней сетки, Пользователь сделал свой выбор и нажал "Сохранить".
protected void btnShowSkillsetPopup_Click(object sender, EventArgs e)
{
// get the gridviewrow from the sender so we can get the datakey we need
Button btnAddSkillsetsFromRow = sender as Button;
GridViewRow row = (GridViewRow)btnAddSkillsetsFromRow.NamingContainer;
Session["CapRes_ResourceRequestID"] = Convert.ToString(this.grdResources.DataKeys[row.RowIndex].Value);
Session["CapRes_SkillsetUpdatePanel_Row"] = Convert.ToString(row.RowIndex);
ModalPopupExtender.Show();
}
Сохранить код ...
int nUpdatePanelID = Convert.ToInt32(Session["CapRes_SkillsetUpdatePanel_Row"].ToString());
UpdatePanel pnlSkillsetsMain = grdResources.Rows[nUpdatePanelID].FindControl("pnlSkillsetsMain") as UpdatePanel;
GridView grdSkillsets = pnlSkillsetsMain.Controls[0].FindControl("CascadingSkillsets1").FindControl("grdSkillsets") as GridView;
grdSkillsets.DataBind();
ModalPopupExtender.Hide();