Passaggio valori fra popup e webform

martedì 09 dicembre 2003 - 19.12

cnnmax Profilo | Junior Member

Salve a tutti.
Ho il seguente problema.
Da una webForm lancio una popup, da questa seleziono dei valori e chiudo la popUp. Non riesco a passare i parametri scelti alla webform principale.

La popUp è aperta con una funzione javascript, contiene una listview con dei valori.
L' ItemTemplate ha come valore un href=javascript con una funzione per chiudere la popup quello che vorrei sapere è come passare alla funzione l'item selezionato e come aggiornare il campo sulla form chiamante

Grazie

Brainkiller Profilo | Guru

Io ricordo che si poteva senza fare un reload della pagina chiamante... però non ho trovato più gli appunti.
Allora ti incollo del codice che fa la stessa cosa però richiede un reload della pagina chiamante.
Allora pagina a.html:

<script language="Javascript">
function openPopup(URL)
{
finestra=window.open(URL,'navigation','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizeable=no,copyhistory=no,height=100,width=100,marginwidth=0,marginheight=0');
}
</script>

<a href="javascript:openPopup('b.html')">Ciao</a>

Pagina b.html:

<script language="Javascript">
function changeURL(URL)
{
parent.opener.location.href=URL;
this.close();
}
</script>


<a href="javascript:changeURL('altrapagina.html')">Cambia pagina</a>

Nella pagina b il codice Javascript cambia l'URL della pagina chiamante e poi chiude automaticamente il popup.
Chiaramente capirai da solo che dal codice javascript della pagina b.html puoi recuperare i valori che hai impostato in una dropdown e li puoi passare nella url tipo altrapagina.html?Par1=alfa&Par2=beta ecc. e recuperarli dalla pagina madre con delle Request["Par1"] ecc.

fammi sapere.
ciao
david

cnnmax Profilo | Junior Member

Si avevi ragione, non è necessario fare il reload della pagina, infatti sono riuscito a risolvere inserendo una routine javascript che mi associa il valore selezionato e chiude la popup.
Sulla form chiamante trovo automaticamente il campo valorizzato.

Grazie

Brainkiller Profilo | Guru

Posta un po' il codice che lo vediamo anche noi :)

Ciao
david

cnnmax Profilo | Junior Member

Questa è la funzione che viene lanciata al click sul datalist

control è un campo nascosto su cui registro il nome del campo da associare

Public Sub DataList_Select(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim IdSelect As Long = oDLRicercaStrade.DataKeys(oDLRicercaStrade.SelectedItem.ItemIndex)
Dim strScript As String

' Qui scrivo lo script per aggiornare il campo
strScript = "<script>window.opener.document.forms(0)." + control.Value + ".value = '"
strScript += IdSelect.ToString
strScript += "';self.close()"
strScript += "</" + "script>"

' Registro lo script nella pagina
RegisterClientScriptBlock("anything", strScript)

End Sub

Ciao :)

Brainkiller Profilo | Guru

Ok ora ho capito.
Grazie.
ciao

david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5