Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Page ispostback

  1. #1
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174

    Page ispostback

    Scusate devo farvi una domanda e vi prego di rispondere solo se siete sicuri...oggi al lavoro mi sono scontrato con un mio collega perchè secondo lui l'attributo Page.isPostback vuol dire che la pagina non è caricata la prima volta, ma si ricarica in conseguenza allo scatenarsi di un evento ad es il click di un tasto...
    Io invece sostengo che nel momento in cui dico ad es.

    if page.ispostback then ......

    dico se la pagina è caricata la prima volta allora......

    qualcuno può dirmi se è giusta questa mia idea oppure se ha ragione il mio collega che ha afferma che per dire se la pagina è caricata la prima volta allora... si dice nel seguente modo:

    if not page.ispostback

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Risponditi da solo lanciando questo esempio

    codice:
    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            If Me.IsPostBack Then
                Me.Label1.Text = "PostBack: non è la prima volta che apro la pagina"
            Else
                Me.Label1.Text = "No PostBack: è la prima volta che apro la pagina"
            End If
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" />
            
    
    
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </p>
        </div>
        </form>
    </body>
    </html>
    l'evento load si può scrivere pure come sotto, assolutamente equivalente
    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            If not Me.IsPostBack Then
                Me.Label1.Text="No PostBack: è la prima volta che apro la pagina"
            Else
                Me.Label1.Text = "PostBack: non è la prima volta che apro la pagina"
            End If
        End Sub
    Pietro

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    La parola "PostBack", se ci rifletti, è un RITORNO.
    Quindi indica che NON è la prima volta che la pagina si carica.

    Secondo me sarebbe stato piu' chiaro da parte di Microsoft, fare una cosa tipo
    codice:
    Page.isFirstLoad   (l'ho inventato io ora)
    che avrebbe generato meno discussioni negli uffici


    Si, per vedere se è la PRIMA volta che la pagina si carica ci sono vari modi, fra cui:
    codice:
    If Not Me.IsPostBack Then
       ...
    End If

  4. #4
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    hai ragione, infatti la microsoft dice il contrario...be vorrà dire che avevo torto io...oggi gli offro un caffè...grazie

  5. #5
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Originariamente inviato da crow
    hai ragione, infatti la microsoft dice il contrario...
    cosa significa che la microsoft dice il contrario?

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da GabbOne
    cosa significa che la microsoft dice il contrario?
    il contrario della funzione inventata dal MODERATORE isFirstLoad
    Pietro

  7. #7
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    peccato che oggi sono senza il mio VS se no mettevo subito nelle mia pagine di base l'attributo
    codice:
     public Boolean isFristLoad {
          get{return !Page.isPostBack}
    }

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non sono d'accordo col nostro MODERATORE, ma sono d'accordo con la Microsoft.

    IsPostBack è molto più significativa di IsFirstLoad perchè focalizza l'attenzione sul POSTBACK (ritorno indietro) che è il punto cardinale di asp.net

    Perciò, piuttosto che proporre nuove funzioni con lo scopo di "generare meno discussioni negli uffici", avrebbe potuto dare il link

    http://msdn.microsoft.com/it-it/libr...ng-VB)&rd=true

    di cui si riporta la spiegazione

    Ottiene un valore che indica se il rendering della pagina viene eseguito per la prima volta o se la pagina viene caricata in risposta a un postback.

    Pietro

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Beh, microsoft avrebbe potuto fornirci di entrambe, no ?

    Testare se la pagina è stata caricata per la prima volta è altrettanto usuale, utile e frequente quanto testare il contrario.

    Secondo me quell'unica proprietà della classe Page genera confusione.
    Quindi, neanche io sono d'accordo col nostro UTENTE COL NUOVO AVATAR Pietro09.


  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Gabbone, giusto! Implemento subito quella funzione


    Scherzi a parte, mi pare ci sia un altro modo:
    codice:
            If Request.TotalBytes = 0 Then
                Response.Write("Primo caricamento della pagina")
            Else
                Response.Write("Non è il primo caricamento della pagina")
            End If

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.