Aprire una finestra POPUP con ASP.NEt

martedì 31 gennaio 2012 - 15.53
Tag Elenco Tags  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Salve ragazzi,
in una pagina ASP.NET ho un form per la registrazioni di alcuni dati che tramite un pulsante vengono archiviati in um .mdb.

Vorrei tramite un altro pulsante aprire una fnestra POPUP con un indirizzo che contenga una querystring.

Faccio un esempio, ho una casella di testo all'interno del primo form. Sulla stessa scrivo "22" e clicco sul pulsante: vorrei che si aprisse la finestra popup: Stampa.aspx?id=22.

Come posso fare?
Mi aiutate?
Grazie

alexmed Profilo | Guru

Ciao
Intendi una cosa come questa?

http://www.aspdotnet-suresh.com/2011/03/how-to-show-modalpopup-to-edit-gridview.html

Guarda l'animazione in fondo

Ciao

alexmed

86Marco Profilo | Expert

No intendo proprio una vera e propria pagina. :)

86Marco Profilo | Expert

nessuno sa aiutarmi :( ?

alx_81 Profilo | Guru

>nessuno sa aiutarmi :( ?
ciao, se tu vuoi proprio una nuova pagina, anche se ormai è una pratica possibilmente da non seguire, puoi usare la window.open con javascript:
http://www.w3schools.com/jsref/met_win_open.asp
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

TOPOAMORE Profilo | Expert

Ciao come ti hanno risposto è possibile farlo in tutte e due i metodi.

il metodo con window.open ormai è superato e bruttino da vedersi.

Il metodo con dialog modali è molto più accattivante dal punto di vista grafico.

Guarda questo link e potrai chiarirti le idee

http://jqueryui.com/demos/dialog/
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

86Marco Profilo | Expert

ciao alex, il discorso è diverso.

So come aprire una finestra con codice javascript, il mio problema è che all'url che metto dentro javascript devo di volta in volta inserire un dato preso da una label come querystring.... :)

Spero di essermi spiegato meglio :(? come fare?? :(

alx_81 Profilo | Guru

>So come aprire una finestra con codice javascript, il mio problema
>è che all'url che metto dentro javascript devo di volta in volta
>inserire un dato preso da una label come querystring.... :)
e quella label è in una griglia?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

No, in un seplicissimo form! :)

alx_81 Profilo | Guru

>No, in un seplicissimo form! :)
ok tu quindi vuoi che la label sia l'url del tuo window.open?
cosa non riesci a fare? non sai come passare il contenuto della label al js?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

Esatto! non riesco a passare il contenuto della label al javascript!! :)

TOPOAMORE Profilo | Expert

var url = 'tuourl' + document.getElementById("idLabel").value window.open("url","finestra")

Aspetta cmq ALEX per la conferma....

Ciaooo
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

alx_81 Profilo | Guru

>Esatto! non riesco a passare il contenuto della label al javascript!! :)
la label è già caricata alla load della pagina giusto? Puoi scrivere sull'url la stringa <%= TuaLabel.Text %>, oppure puoi referenziarla via js con un document.getElementById('id della tua label').
Oppure puoi usare un js framework come jQuery per ottenere, solo dopo il completamento del caricamento della pagina, il tuo bel $("#id della tua label").text().
Scegli tu

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

TOPOAMORE Profilo | Expert


>$("#id della tua label").text().

Direi meglio $("#id della tua label").val()



__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

alx_81 Profilo | Guru

>Direi meglio $("#id della tua label").val()
MOOOOLTO meglio
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

Xfetto!! Ultimissima cosa :)
come poter fare a rikiamare un evento javascipt da codice di VB.NET ?? :)

GRAZIE RAGAZZIIIII

TOPOAMORE Profilo | Expert

Io direi di fare una ricerca nel forum visto che è una cosa richiesta molte volte :)

Accetta la risposta di alx se ti e stata utile e chiudi questo threed :)

Ciaoooo
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

alx_81 Profilo | Guru

>come poter fare a rikiamare un evento javascipt da codice di VB.NET ?? :)
e perchè chiami il client dal server? no dai.. spiegaci cosa devi fare prima..

>GRAZIE RAGAZZIIIII
accetta la risposta se credi che ti abbia aiutato per favore.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

Accetterò la tua risposta senza dubbio ALEX :) e vi ringrazio molto!

Scusatemi se ho posto anche questa domanda.
Per alex:
allora ho questo scenario praticamente!

Sto creando una piccola pagina per la memorizzazione di alcuni dati su un SQL Server.
tutto procede bene.

Quando inserisco tutto dentro un dataabse SQL Server, ricavo l'id del record tramite @@IDENTITY. Questo numero mi viene riportato dentro una label a piè di pagina.

Tramite un altro Button voglio fare aprire una finestra POPUP (oggetto della discussione) con codice javascript che prenda come querystring il contenuto della Label.

Adesso l'unico problema è come poter collegare la function Javascript al clic del Button1... :)

Spero di essermi spiegato meglio :)

Grazie ancora ragazzi,

TOPOAMORE Profilo | Expert

Io ho la mia risposta come è giusto che sia aspetto il CAPO :)
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

alx_81 Profilo | Guru

>Io ho la mia risposta come è giusto che sia aspetto il CAPO :)
è un forum, tutti si cerca di aiutare.. e non provare più a chiamarmi capo
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alx_81 Profilo | Guru

>Accetterò la tua risposta senza dubbio ALEX :) e vi ringrazio molto!
accetta la risposta col pulsante verde, e accetta quella che ti ha aiutato, non la mia per forza
accettare serve anche per chi torna qui a leggere il thread in modo che sappia che il problema è stato risolto.

>Quando inserisco tutto dentro un dataabse SQL Server, ricavo
>l'id del record tramite @@IDENTITY. Questo numero mi viene riportato
>dentro una label a piè di pagina.
attenzione a questa proprietà, usa SCOPE_IDENTITY() e non @@IDENTITY (a meno che non ti serva l'ultima identità ricavata, ad esempio, dentro un trigger).
La prima ti garantisce di avere l'identità dell'ultima operazione di insert sulla tabella con l'identity.

>Tramite un altro Button voglio fare aprire una finestra POPUP
>(oggetto della discussione) con codice javascript che prenda
>come querystring il contenuto della Label.
>Adesso l'unico problema è come poter collegare la function Javascript
>al clic del Button1... :)
fai il click lato client e non gestirlo sul server! fai un bottone html, non farlo lato server se non vuoi fare una postback.
Comunque, puoi fare un pulsante html e gestire una funzione js con l'evento onclick direttamente sul controllo html, oppure fare un OnClientClick sul controllo che disegni in asp.net.
Chiediti sempre se al click vuoi andare a server. Se la risposta è no, fallo solo lato client (un semplice controllo html e non asp.net).
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

Ragazzi abbiate pazienza :( non mi riesce :(

Ho scritto questo sulla'aspx

<a href="Javascript:apri('StampaScheda.aspx?ID=','800','885');">stampa</a>

e prima ancora

<script type="text/javascript" >
function apri(url, w, h) {
var windowprops = "width=" + w + ",height=" + h;
popup = window.open(url + document.getElementById("Label2"), 'remote', windowprops);
}
</script>

PERCHEEEE???? :(

totti240282 Profilo | Guru

Infatti per completare io aggiungerei che con i controlli lato server puoi richiamare una funzione javascript ma nello stesso tempo farà un postback.
Mentre per i controlli html standard non ci sarà un postback e quindi richiamerai solo script lato client.
C'è solo un capitano !!!!!!

alexmed Profilo | Guru

Ciao
Tempo fa usavo questa:

nell'head della aspx

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Nel form

<asp:LinkButton ID="LinkButton3" runat="server" href='<%# String.Concat("StampaScheda.aspx?ID=", Label2.Text) %>' OnClientClick="NewWindow(this.href,'Anteprima','680','800','yes','center');return false" Width="100%">Anteprima di stampa</asp:LinkButton></td>

Prova
alexmed

alx_81 Profilo | Guru

>PERCHEEEE???? :(
sicuro che document.getElementById("Label2") sia valorizzato? Hai fatto un po' di debug?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

86Marco Profilo | Expert

Mi dice questo

Errore di run-time di Microsoft JScript: Impossibile ottenere il valore della proprietà 'value': oggetto nullo o non definito

Intanto però dentro la label io ho scritto un numero!!!

TOPOAMORE Profilo | Expert

ci manca il .value

document.getElementById("label").value
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

86Marco Profilo | Expert

Se lo faccio con value mi dice questo :)

451x300 36Kb


E' assurdo è una fesseria e non riesco a venirne a capo

TOPOAMORE Profilo | Expert

ma label 2 è un tag server????

se si devi scrivere cosi:

document.getelementById("<%=label.clientid%>").value
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

TOPOAMORE Profilo | Expert

anzi devi scrivere

document.getElementById("<%=label.clientid%>").innerText

vedi tu le lettere maiuscole o minuscole che sto scrivendo a memoria :)
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

86Marco Profilo | Expert

Grazieeeee ho risolto!!! :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)

TOPOAMORE Profilo | Expert

Era come dicevo io???

altrimenti posta la soluzione
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

86Marco Profilo | Expert

SI proprio come dicevi tu!

document.getElementById("<%=label.clientid%>").innerText
essendo la Label un tag server ho dovuto utilizzare questo!!

Grazie,

TOPOAMORE Profilo | Expert

Bene,

allora buon lavoro
__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5