Javascript lato serversenza respose.write

mercoledì 03 giugno 2009 - 18.49

TOPOAMORE Profilo | Expert

Salve a tutti,
mi serve avviare una function() javascript lato server.
il response.write non funziona che mi da semprte codice errore e debug quindi eè un'iopotresi da scartare.
Come posso fare?
in pratica la routine dovrebbe aprire tante finestre quante sono le righe poresenti in un datalist
quindi
function apri(){
window.open('Pagina.aspx?val=<%=valore%>',''apri)
}

se si riesce in vb.,net tanto meglio.

aspetto notizie

grazie
ASP 2.0 - VB 2008

R3GM4ST3R Profilo | Junior Member

Ciao!
Potresti usare il buon vecchio registerclientscriptblock(string, string) [ammesso e non concesso che esista ancora...]
Dal codice lato server, usando la funzione registerclientscriptblock("","ApriJavascript()")
Il primo parametro non mi ricordo a cosa serva...dai un occhio sull'msdn!

Ciao
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)

TOPOAMORE Profilo | Expert

grazie della risposta ,
la tua soluzione l'avevo gia provata ma non riesco ad implementarla devo studiarla un po meglio.
Se qualcuno ha suggerimenti.......
ok ho risolto cosi'

ScriptManager.RegisterClientScriptBlock(Me, GetType(Page), "ApriPagine1", "window.open('" & URL & "','Privata')", True)

Cosi funzioa grazie per la dritta.....

bye bye

R3GM4ST3R Profilo | Junior Member

Ciao
ecco un esempio al volissimo

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim s_strNomeParametro As String = "PINCOPALLINO"
RegisterClientScriptBlock("ApriFinestra", String.Format("<script>alert('{0}');</script>", s_strNomeParametro))
End Sub

Se al posto di alert usi la window.open in teoria non dovrebbe cambiare nulla...

CiaoCiao


Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)

TOPOAMORE Profilo | Expert

ciao ho provato a fare in quella forma cioe clientscript ma non va invece come ho scritto io con scriptmanager va alla perfezione unica pecca e xhe non mi apre 2 pagine nel senso nel ciclo for con 2 o piu record apre sempre e solo una pagina.....
oltrettutto iseredo codice jquery non mi funge assolutamente.....

Consigli



ASP 2.0 - VB 2008

R3GM4ST3R Profilo | Junior Member

prova a cambiare il nome dello script

ScriptManager.RegisterClientScriptBlock(Me, GetType(Page), "ApriPagine1", "window.open('" & URL & "','Privata')", True)


se non ho capito male, "ApriPagine1" lo usa lo script manager per identificare ed al massimo deregistrare uno script, probabilmente se ne registri 2 o più con lo stesso nome, parte l'ultimo, quindi prova nel ciclo a cambiare anche il nome script

una roba tipo

dim i as integer = 0
for i=0 to 3
ScriptManager.RegisterClientScriptBlock(Me, GetType(Page), "ApriPagine" & i, "window.open('" & URL & "','Privata')", True)
next i

Perchè se non ricordo male i parametri sono :
pagina dove inserire lo script, (il tipo di oggetto pagina), lo scriptname, il codice client da eseguire, e un valore booleano che indica se appendere il tag <script></script> al codice client da eseguire.

Prova, così dovrebbe funzionare

Ciao Ciao!

P.S. Guarda che se fai aprire tanti popup, l'utente potrebbe incazzarsi!
Tienilo presente!
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
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