Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Fermare il caricamento di una pagina alla pressione di un imagebutton
martedì 23 febbraio 2010 - 16.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mar 23 feb 2010 - 16:56
Salve ragazzi...ho di nuovo un dubbio amletico (per me ovviamente)....
Ho un Image Button che mi manda dei dati verso il raccoglitore finale.
Vorrei vericare all'evento CLICK alcune cose e se non sono verificate vorrei che non si venisse ridirottati da nessuna parte....o meglio ancora, che si venisse ridirottati solo se il controllo va a buon fine....
....attualmente anche se mi fa la verifica col codice che ho aggiunto, la pagina è già partita sparata per il caricamento della destinazione finale....lo vorrei impedire...si può ?
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
mer 24 feb 2010 - 15:38
Ciao, puoi postare un po' di codice?
PV
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 17:05
Non ti basta mettere una "If" sotto l'evento onclick scatenato?
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 17:23
Ciao ragazzi e grazie per le risposte.
Posto un pezzetto di codice relativamente al bottone (non credo serva altro, in caso contrario chiedetemi pure!)
<asp:Panel ID="PanelPagamento" runat ="server">
<tr>
<td width="100%" valign="middle" align="center" class="TableBaseCenter">
<asp:ImageButton ID="ImgBtnVaiAllaCassa" runat="server" skinid="btnVaiAllaCassa" ToolTip="<%$Resources:ResourceCatalogo, strVaiAllaCassa%>" PostBackUrl="Acquista.aspx" CausesValidation ="false" />
</td>
</tr>
</asp:Panel>
Come vedete ha un postbackurl che ne comanda il passaggio alla pagina...
Ecco...io vorrei che il passaggio verso acquista.aspx avvenisse SOLO dopo che ho fatto un controllo su alcuni valori della pagina per vedere se sono stati valorizzati....
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 17:29
Potresti legare all'evento OnClick dell'ImageButton un metodo che implementerai nel codice sotto, inserisci la if ed a seconda del risultato applichi un response.redirect.....alla pagina desiderata.
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 17:33
E per far si che non si muova di li come faccio ? devo togliere il postbackurl sostanzialmente e ridirezionare via codice ??
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 17:42
Ho provato a fare cosi nell'evento click del bottone, togliendo il postbackurl
If CONDIZIONE Then
Response.Redirect("~/Catalogo/Acquista.aspx", False)
Else
'niente
End If
Però mi fa il refresh su se stessa.... anche se la condizione è verificata non mi fa il redirect...
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 17:48
C#
if (Condizione)
{
Response.Redirect("Default.aspx");
}
Deve funzionare per forza...
Il postBack la pagina lo fa comunque essendo un ImageButton, io per evitare di ricaricare tutta la pagina di solito uso gli UpdatePanel
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 17:57
Ho provato anche cosi come dici tu ma non va...però noto che il mio VWD ha qualche problema, infatti non mi fa più il debugger, i bottoni di start,stop e pausa si disattivano pur visualizzando la pagina web.....sarà quello ?
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 18:00
Non ho capito.....
Se non ti va il debug (lanci con la freccia verde?) puoi sempre aprire il sito con View in Browser cliccando sulla aspx con il tasto destro del mouse e poi attacchi il Debug al processo (Debug\Attach to process...)
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 18:10
Ah...non ho idea di come si faccia...me lo spieghi passo passo ? mi sarebbe utilissimo...
Si lancio dalla freccia verde!
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 18:14
Ti posizioni sulla aspx , poi con il tasto destro del mouse fai "View in Browser"
Vedrai che si aprirà un istanza del browser(ie od altri) ed in basso a destra parte l'icona del Cassini, con il nome dedella porta a cui si aggancia.
Ora passi in visual studio e vai su "Debug"; testo sinistro e vai su Attach to process...si apre una finestra e cerchi il processo(di solito WebDev..) con la porta cercata prima (sotto la colonna title: ASP.NET Development...)
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 18:19
Appena me lo rifà provo....ora però è ripartito tutto (dopo aver spento il pc)....e comunque non mi funziona....non capisco...
l'IF then l'ho messo nell'evento CLICK e non OnClick....è corretto ?
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 18:25
esatto... evento OnClick definito nell'aspx, poi nel codice sotto agganci il nome che hai deciso...tipo:
<asp:ImageButton ID="btnPrint" ImageUrl="~/Img/Print.jpg" OnClick="btnPrint_Click"........
protected void btnPrint_Click(object sender, EventArgs e)
{
}
E' c# ma basta che lo cambi :)
Mettiti un break point e vedi cosa accade.
Ciao
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 18:59
Con
Public Sub btnAcquistaControlla(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
If 0 = 0 Then
Response.Redirect("~/Catalogo/Acquista.aspx")
Else
'niente
Response.End()
End If
End Sub
Non funziona....
con il postbackurl funziona....
Mi verifica la condizione e passa dalla riga del redirect ma non fa niente...ricarica la pagina attuale....
Forse perchè il bottone è dentro un UpdatePanel ?
fguida
Profilo
| Expert
524
messaggi | Data Invio:
mer 24 feb 2010 - 20:21
L'update panel ti fa il render solo del pezzetto di codice incluso nello stesso, senza reenderizzare tutta la aspx...postami la pagina che la provo, altrimenti così mi resta difficile capire cosa hai creato
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 24 feb 2010 - 20:31
postare tutta la pagina è un po un problema...ci sono tanti di quei controlli e codice incluso da altri files che ti chiederei di fare davvero troppo a capire cosa ho fatto...
Domani riguardo a mente lucida il tutto, magari capisco dove sta' l'inghippo...
Intanto ti ringrazio tanto per il tuo aiuto !
fguida
Profilo
| Expert
524
messaggi | Data Invio:
gio 25 feb 2010 - 08:51
Guarda...io ho una pagina aspx ove un ImageButton esegue la cancellazione di alcuni dati dopo aver verificato alcune cose; esso è contenuto in un UpdatePanel e se richiamo all'interno della IF una Response.Redirect essa viene eseguita senza problemi. Idem se l'esecuzione deve farmi rimanere sulla pagina "madre".
Questo è il codice:
ASPX
<asp:UpdatePanel ID="pnlPanel" ChildrenAsTriggers="false" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:ImageButton ID="ibtDelete" CommandArgument='<%# Eval("ID") %>' OnClick="ibtDelete_Click"......
...
ASPX.CS
//Elimino un ID;
protected void ibtDelete_Click(object sender, ImageClickEventArgs e)
{
CONDIZIONE A
delete(id);
CODIZIONE B
Response.Redirect("Default.aspx");
}
Francesco
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
gio 25 feb 2010 - 15:30
Ci deve infatti essere qualcosa che non considero...anche io in questo stesso carrello col quale ho il problema ho dei bottoni per la cancellazione dei prodotti e prima di scatenare una reazione verificano la risposta dell'utente....e funziona alla perfezione....ora vedo di capirci qualcosa...
Torna su
Stanze Forum
Elenco Threads
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 !