Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Crosspostback - PostBackUrl

    Ho un Gridview in una pagina, vorrei aprire un detailsview in un'altra pagina passando l'ID di riga selezionato nel gridview alla pagina di destinazione...

    Nel gridview in pag1.aspx ho trasformato il selettore di riga in un itemtemplate con dentro un imagebutton al quale ho impostato il postbackurl="pag2.aspx". Here it is:
    <asp:ImageButton ID="ImageButton1" runat="server" CommandName="Select" ImageUrl="~/img/mac_edit.png" Text="Seleziona" PostBackUrl="~/pag2.aspx" />

    In pag2.aspx ho già sistemato sia la direttiva di pagina, indicando il virtualpath di pag1, sia il codebehind in modo da ricevere il post da pag1.aspx.... ma non riesco nemmeno a uscire da pag1.aspx, continua a fare un postback su se stessa... che devo fare?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    a parte non scrivere "here it is", devi postare il codice

    in VB, nella seconda pagina, avevo questo:

    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    If Not Page.PreviousPage Is Nothing Then
                    Dim Box As TextBox = CType(PreviousPage.FindControl("tb"), TextBox)
                    If Not Box Is Nothing Then
                        Response.Write("Il testo della text nella pagina precedente è: " & Box.Text)
                    End If
    End If
    
    End Sub

    per te la FindControl mi sa che è un po' piu' complessa.
    per il loop, mi sa che hai sbagliato qualcosa. rifalla daccapo
    Ultima modifica di djciko; 09-02-2015 a 21:33

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Eh, io vorrei arrivarci nella seconda pagina.... il fatto è proprio che mi resta nella prima, fa un postback su se stessa... devo aggiungere qualcosa all'imagebutton per mandarla a pag2.aspx?

    Nella pag2.asp ho già un codice nel load di pagina che verifica se è un crosspagepostback o meno:
    codice:
            If IsCrossPagePostBack Then
                .....
            End If
    Ultima modifica di supermac; 10-02-2015 a 10:00
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    no fermo, stamattina magicamente funziona.... misteri del debugger di VS2013
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    si beh funziona è una parola grossa... intanto la property isPageCrossPostback mi restituisce false e poi comunque la cosa è più complicata: ora che sono nella pagina 2 ho necessità di sapere chi ha inviato il postback, a chi m'attacco?

    Che sbatti: volevo evitare di passare informazioni in querystring ma è decisamente più facile se lavoro su pag1.aspx, prendo il SelectedDataKey del gridview nell'evento SelectedIndexChanged e lo giro a pag2.aspx come parametro in querystring per mostrare il detailview relativo alla riga selezionata...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Che sbatti: volevo evitare di passare informazioni in querystring ma è decisamente più facile se lavoro su pag1.aspx, prendo il SelectedDataKey del gridview nell'evento SelectedIndexChanged e lo giro a pag2.aspx come parametro in querystring per mostrare il detailview relativo alla riga selezionata...
    Dovendo fare quello che vuoi tu io userei proprio quella tecnica, quella che tu vuoi evitare.
    O non crederai che complicando il codice per non usare la querystring, migliori il lavoro?


    ps. il crosspostback te lo sconsiglio davvero.
    Ultima modifica di pietro09; 10-02-2015 a 12:06
    Pietro

  7. #7
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    non me lo faccio ripetere: addio crosspostback
    thank you all
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Visual Basic.Net


    Pagina 1 (aspx)

    codice:
    .......
    <head runat="server">
        <title>cross</title>
    </head>
    <body>
    <form id="form1" runat="server">
       Cross Page posting con PostbackUrl:
       <asp:TextBox ID="tb" runat="server"></asp:TextBox>
       <asp:button ID="btCross" PostBackUrl="due.aspx" Text="Pagina seguente" runat="server" />
    </form>
    </body>
    </html>



    Pagina 2 (code-behind)

    codice:
    Public Class due
        Inherits System.Web.UI.Page
    
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                If Not Page.PreviousPage Is Nothing Then
                    Dim Box As TextBox = CType(PreviousPage.FindControl("tb"), TextBox)
                    If Not Box Is Nothing Then
                        Response.Write("Il testo della text nella pagina precedente è: " & Box.Text)
                    End If
                End If
            End If
        End Sub
    End Class


    funziona ancora alla grande.

  9. #9
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Questo assomiglia molto quello che mi servirebbe ma non mi è chiaro... prima del postback fai eseguire al bottone la funzione btcross_click (cioè fai eseguire un autopostback alla pagina 1)???
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    no, POSTBACKURL nelle proprieta' del bottone significa che l'URL dove deve fare il postback non è la pagina stessa, ma la pagina che indichi.

    la chiamata al metodo l'ho tolta, è inutile
    Ultima modifica di djciko; 10-02-2015 a 13:26

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.