61 messaggi dal 28 agosto 2007
ciao,
volevo sapere se era possibile fare il redirect su una pagina nuova.
mi spiego meglio; nel mio programma eseguo il redirect attraverso il comando
response.redirect("nome_pagina.aspx"). questo comando mi apre la nuova pagina, ma ovviamente nn posso vedere la pagina di prima.
esiste un modo per fare il redirect su una pagina nuova mantenendo la visibilità di quella vecchia?
spero di essermi spiegato e che possiate essermi utile.
grazie e ciao
RHAIZEN ha scritto:
esiste un modo per fare il redirect su una pagina nuova mantenendo la visibilità di quella vecchia?


Quindi intendi avere due finestre del browser: lato server non è possibile ottenere questo comportamento però puoi risolvere impostando target="_blank" (deprecato) ad un link oppure utilizzando javascript con window.open(...)

HTH

Matteo Casati
GURU4.net
61 messaggi dal 28 agosto 2007
scusa per il ritardo nella risposta.
io devo aprire una finestra nuova quando clicco su un bottone.
come faccio a passare la funzione javascript all'evento onclick del mio bottone?
grazie.
Se il bottone è un controllo server di tipo Button, puoi usare la proprietà OnClientClick. In alternativa puoi gestire la cosa anche aggiungendo un elemento alla collezione Attibutes del controllo.

<asp:Button ID="SubmitButton" runat="server" OnClientClick="openWindow()" />


SubmitButton.Attributes.Add("onclick", "openWindow()");


HTH!

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
61 messaggi dal 28 agosto 2007
ok funziona!!!
senti ti chiedo 2 cose e poi basta.
ho scritto questa riga:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick= "window.open('prova.aspx','_blank')"/>

dovrei inserire un parametro alla pagina prova.aspx del tipo

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick= "window.open('prova.aspx?UteInsert=????????','_blank')"/>

dove nei punti interrogativi dovrei mettere il valore di una variabile di sessione.
come si può fare?

inoltre non ho capito bene dove inserire la parte di codice
SubmitButton.Attributes.Add("onclick", "openWindow()");

grazie e ciao
Occorre settare la proprietà OnClientClick in modo programmatico. Come e dove farlo dipende da dove si trova il controllo...

Facciamo un paio di esempi.

Se il bottone è presente in modo diretto nella pagina, è possibile settare la proprietà (piuttosto che aggiungere l'elemento alla collezione Attributes del controllo Button) nel metodo di caricamento della pagina Page_Load.

Nel caso in cui il bottone sia annidato dentro un bound-control come un repeater o una griglia di qualche tipo, occorre settare la proprietà del controllo (o aggiungere l'elemento alla sua collezione Attributes) nell'event handler di ItemDataBound (o di un evento equivalente a seconda del controllo container).

In questo modo, agendo sul codice, è possibile settare l'URL della nuova finestra in modo dinamico.

HTH!

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
61 messaggi dal 28 agosto 2007
ciao avevo gia provato a scrivere il seguente codice

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
else
{
Button1.OnClientClick="window.open('prova.aspx?numero="+TextBox1.Text+"','_blank')";
}
}

ma succede questo: se clicco la prima volta sul bottone mi apre la pagina prova.aspx con la seguente querystring "prova.aspx?numero="
se invece clicco per la seconda volta allora mi mette anche il numero da me scelto

come posso risolvere?
grazie e ciao
Al primo caricamento IsPostBack è pari a false, quindi è ovvio che il codice che setta la proprietà del bottone non venga eseguito.

Puoi pensare di gestire la cosa settando un valore di default per la proprietà OnClientClick direttamente nel markup del controllo o in via programmatica nel primo blocco del costrutto condizionale if di Page_Load.

Come popolare il valore dipende dalla logica in base alla quale funziona la tua applicazione e questa la conosci solo tu.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.