L'esempio è buttato al volo perciò attenzione
nella pagina a.aspx ho una griglia. dentro la griglia ho, dentro un TemplateColumn un TextBox di ID="tb1"
Ho inoltre un <asp:HyperLink ID="hl1" che serve per aprire il popup
Nell'evento DataGrid1_ItemDataBound ho
codice:
Select Case e.Item.ItemType
Case ListItemType.AlternatingItem, ListItemType.Item
Dim b As TextBox = DirectCast(e.Item.FindControl("tb1"), TextBox)
Dim cid$ = b.ClientID
Dim hl As HyperLink = DirectCast(e.Item.FindControl("hl1"), HyperLink)
hl.Text = "apri popup"
hl.NavigateUrl = "javascript:void(0);"
hl.Attributes.Add("onclick", String.Format("var w=window.open('b.aspx?chiave={0}','popup','width=300px, height=300px,left=300px,top=300px,');w.focus();return false;", cid))
End Select
che come vedi permette al link di aprire il popup passandole come parametro, l'identificativo del textbox.
La pagina popup, recupera il parametro e lo mette in una variabile protetta:
chiave = Trim(Me.Request("chiave"))
ed il javascript richiamato da un pulsante, copia per esempio i dati di un textbox nel textbox della griglia del chiamante:
codice:
function btn1_onclick() {
var chiave="<%=chiave%>";
opener.document.getElementById(chiave).value = document.getElementById("TextBox1").value;
self.close();
}
A me funziona
L'ho collaudato