Apertura di una seconda webform da button

lunedì 22 maggio 2006 - 19.28

bluland Profilo | Guru

a qualcuno e' mai capitato che la seconda web form quando si apre si ritrova sempre dietro la prima, cosicche tocca minimizzare la windows principale per poi vedere la seconda...

qualche idea?
saluti
enzo

giulyxiano Profilo | Junior Member

Spero che il tuo form principale sia un mdi.....allorapuoi fare così:


Dim NuovoForm As Form2
NuovoForm.MdiParent = Me
NuovoForm.Show()

alx_81 Profilo | Guru

Veramente, essendo nel form di ASP.NET, e parlando tu di web form, credo che si tratti di pagine asp.net
Cmq sia, come passi da una web form all'altra?
non ho capito bene il tuo problema..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluland Profilo | Guru

per passare da una web form all'altra uso un window.open(" webform2.aspx")

il tutto funziona perfettamente, nel senso che la seconda webform si apre etc, solo che si apre dietro la prima e non avanti come vorrei, cosicche mi tocca minimizzare la prima per vedere la seconda... invece io vorrei che si aprisse avanti come fanni i pop-up.....

fatemi sapere se avete capito,altrimenti provo a spiegarmi meglio.....

alx_81 Profilo | Guru

Ok.. chiaro =)
è un comportamento strano.. cmq se provi a postare il codice potremmo scoprire cosa succede..
Altrimenti prova prima questo script:

<script language="javascript">
//<!--
function openPopUp(page)
{
var res;
res = window.open(page);
}
// -->
</script>

lo metti dopo il tag head della pagina web..
poi, nell'evento load aggiungi l'attributo onclick al controllo..

ad esempio, se fosse un bottone..

btn1.attributes.add("onclick","javascript: openPopUp('miapagina.aspx')")

prova così..
ciao!




Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluland Profilo | Guru

veramente io avevo usato tutto un metodo diverso creandomi una classe a parte, cmq....prima di postare il mio ora provo il tuo, ma dove lo devo inserire :

<script language="javascript">
//<!--
function openPopUp(page)
{
var res;
res = window.open(page);
}
// -->
</script>

????

fedecheller Profilo | Junior Member

aggiungendo il metodo focus() la pagina verrà in primo piano.

<script language="javascript">
//<!--
function openPopUp(page)
{
var res;
res = window.open(page);
res.focus();
}
// -->
</script>


MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

bluland Profilo | Guru

poiche' io uso VS.net 2003 e non ho mai usato script java, questo codice dove lo inserisco???

grazie

fedecheller Profilo | Junior Member

lo script lo metti nell'head della pagina html

al bottone lato server aggiungi:
btn.Attributes.Add("onclick","openPopUp('miapagina.aspx')");
MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

alx_81 Profilo | Guru

metti lo nell'head della pagina..
comunque dovresti fare a meno del focus..
è strano che ti si comporti così..
se il mio metodo non va aggiungi il focus come consigliato da fedecheller ..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

fedecheller Profilo | Junior Member

Il focus serve quando la finestra che chiami è già aperta, esempio:
quando fai:
window.open('miapagina.aspx','z');
se la finestra 'z' è già aperta il browser caricherà la 'miapagina.aspx' dentro quella finestra e non gli darà il focus.


MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

bluland Profilo | Guru

ragazzi ho provato, ma il risultato e' sempre lo stesso quando si apre la pagina secondaria me la ritrovo dietro la prima....!!!!
sia usando questo codice :
Imgbutesci.Attributes.Add("onclick", "javascript: openPopUp('inputdata.aspx', 'default.aspx')")

che questo:
Imgbutesci.Attributes.Add("onclick", "javascript: openPopUp('inputdata.aspx')")

questo e' codice che ho messo nell'head Html
<script language=javascript>
//<!--
function openPopUp(page)
{
var res;
res= window.open(page);
res.focus();
}
//-->
</script>


qualche idea?

alx_81 Profilo | Guru

posta tutto =)
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluland Profilo | Guru

ecco:
<HEAD>
<title>Default</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language=javascript>
//<!--
function openPopUp(page)
{
var res;
res= window.open(page);
res.focus();
}
//-->
</script>
</HEAD>

lato server:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
if Not IsPostBack Then

' button dal quale si scatena l'evento pop up la seconda pagina e' input.aspx mentre la prima e'defaul.aspx
Imgbutesci.Attributes.Add("onclick", "javascript: openPopUp('inputdata.aspx', 'default.aspx')")

end if


idee?
end sub

alx_81 Profilo | Guru

perchè passi due parametri alla funzione che ne accetta solo uno?
cmq non è quello il problema, credo..
ora provo..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

alx_81 Profilo | Guru

Guarda, non saprei.. mi funziona tutto correttamente..
è corretto..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

fedecheller Profilo | Junior Member

come bottone non devi usare un webcontrol, ma un normale input button con la propietà runat=server, o se no un:

<input type="button" onclick="openPopUp('a.html')"> direttamente lato html
MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

bluland Profilo | Guru

grande funziona solo che mi appare in alto a destra e mi fa una linea colorata in orizzonatale che mi taglia la pagina, funziona ma mi rovina l'estetica della pagina come da allegato
cosa posso fare?




1280x1024 33Kb

fedecheller Profilo | Junior Member

la parte grafica del bottone la gestisci attraverso gli stili ed è indipendente dalle funzionalita javascript

MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

bluland Profilo | Guru

hai ragione , volevo chiederti ma come mai non funziona con i controlli web??

fedecheller Profilo | Junior Member

i controlli web ( buttons) vanno per definizione sempre in post, ovvero ricaricano la pagina padre portandola in primo piano, che nel tuo caso non è richiesto, dato che la pagina padre non ha bisogno di aggiornarsi al click del bottone.

MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY

alx_81 Profilo | Guru

scusami..avevo dato perscontato che fosse un bottone lato client..
ottimo comunque!!
l'importante è che tutto vada
Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluland Profilo | Guru

ma ora con questo medoto come faccio a decidere le dimensioni della finestra??? ovviamente cosi mi si apre la pagina per intero, se volessi dimensionarla??

alx_81 Profilo | Guru

all'interno dello script puoi impostare le opzioni nella window.open..
la sintassi è
winow.open(percorso,nome,features)

le features sono coppie di chiave=valore separati da virgola..

ad esempio window.open('ciao.aspx','prova','width=150,height=150,status=no,toolbar=no,menubar=yes,scrollbars=no');




Alx81 =)

http://blogs.dotnethell.it/suxstellino

bluland Profilo | Guru

ok fatto grazie
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