+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Come aggirare questo errore saltuario

  1. #1
    martin non è in linea Scolaretto
    Post
    172

    Come aggirare questo errore saltuario

    Capita il più delle volte, di ritrovarmi con questo errore al momento del caricamente di una pagina.

    Passando il link a una pagina del mio sito (che contiene una query string), a volte mi esce fuori questo errore.

    Object reference not set to an instance of an object.


    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


    Stack Trace:

    [NullReferenceException: Object reference not set to an instance of an object.] ShopX.Page_Load(Object sender, EventArgs e) +7198
    System.Web.UI.Control.OnLoad(EventArgs e) +99

    System.Web.UI.Control.LoadRecursive() +50

    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627



    Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3614


    Cosà può voler dire?
    Se accedo dalla homepage funziona tutto regolarmente, ma se accedo dalla con un copia incolla nella barra degli indirizzi, A VOLTE mi esce fuori questo...

  2. #2
    martin non è in linea Scolaretto
    Post
    172
    ho corretto sistemando il webconfig, però comunque è solo un modo per mascherare. l'errore cè sempre a volte... uffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!

  3. #3
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da martin Visualizza il messaggio
    ho corretto sistemando il webconfig, però comunque è solo un modo per mascherare. l'errore cè sempre a volte... uffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!
    l'errore è chiarissimo: in ShopX.Page_Load stai tentando di usare un oggetto che è nothing ( null in c#).

    Con le informazioni che dai solo tu puoi scoprire qual'è ed il motivo per cui è nothing.
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  4. #4
    martin non è in linea Scolaretto
    Post
    172
    ah ok. posto il codice allora:

    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
            If Not Page.IsPostBack Then
    
                If Not String.IsNullOrEmpty(Request.QueryString("ID")) Then
    
                    Dim r1 As OleDbDataReader
                    Dim soloIdentificativo, Esistenza360, longi, lati, esterno, stato, testo, sito As String
    
                    r1 = CaricaCliente .SQLDatareader("SELECT TOP 1 * FROM Cliente WHERE codice= " & CInt(Request.QueryString("ID").ToString))
                    If r1.Read Then
                        Label14.Text = r1("citta") & ""
                        Label13.Text = r1("via") & ""
                        Label16.Text = r1("telefono1") & ""
                        Label105.Text = r1("telefono2") & ""
                        Label19.Text = r1("email") & ""
                        testo = r1("descrizione1") & ""
                        Label43.Text = r1("codice") & ""
                        Label48.Text = r1("provinciaabbr") & ""
                        Label3.Text = r1("ragionesociale") & ""
                        stato = r1("Stato") & ""
                        sito = r1("sitointernet") & ""
                        Label2.Text = r1("tipologia1") & ""
                        esterno = r1("fotoesterno") & ""
                    End If
                    r1.Close()
    
                    Label33.Text = testo.Replace(vbCrLf, "<br/>")
    
    
                    'NOME PAGINA
                    Page.Header.Title = "XXX.com - " & Label3.Text & " - " & Label13.Text & ", " & Label14.Text & " (" & Label48.Text & ")"
    
                    Label19.Text = Label19.Text.ToLower
                    Label48.Text = "(" & Label48.Text.ToUpper & ")"
    
                    If esterno.Trim <> "" Then
                        Panel5.Visible = True
                    Else
                        Panel5.Visible = False
                    End If
    
    
                    'STELLE VOTI
                    Dim media As String
                    r1 = CaricaCliente .SQLDatareader("SELECT AVG(CAST(voto AS decimal)) AS Media FROM Commenti WHERE voto <> 0 AND codice =" & CInt(Request.QueryString("ID").ToString))
                    If r1.Read Then
                        media = r1("Media") & ""
                    Else
                        media = "0"
                    End If
                    r1.Close()
                    
    
                    If media.Trim = "" Or media = Nothing Then
                        media = "0"
                    End If
    
                    If CDbl(media) <> 0 Then
                        If CDbl(media) > 0 And CDbl(media) <= 1 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s1.png"
                        ElseIf CDbl(media) > 1 And CDbl(media) <= 1.5 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s1-5.png"
                        ElseIf CDbl(media) > 1.5 And CDbl(media) <= 2 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s2.png"
                        ElseIf CDbl(media) > 2 And CDbl(media) <= 2.5 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s2-5.png"
                        ElseIf CDbl(media) > 2.5 And CDbl(media) <= 3 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s3.png"
                        ElseIf CDbl(media) > 3 And CDbl(media) <= 3.5 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s3-5.png"
                        ElseIf CDbl(media) > 3.5 And CDbl(media) <= 4 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s4.png"
                        ElseIf CDbl(media) > 4 And CDbl(media) <= 4.5 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s4-5.png"
                        ElseIf CDbl(media) > 4.5 Then
                            imgVoti.ImageUrl = "http://www.yyy.it/Images/stars/s5.png"
                        End If
                    End If
    
    
                    GridView4.DataSource = CaricaCliente .SQLDatareader("SELECT sottocategoria FROM Associazione WHERE Codice =" & CInt(Request.QueryString("ID")))
                    GridView4.DataBind()
    
                    If GridView4.Rows.Count = 0 Then
                        Label106.Visible = True
                    Else
                        Label106.Visible = False
                    End If
    
    
    
                    'COMMENTI
                    r1 = CaricaCliente .SQLDatareader("SELECT TOP 5 Utenti.login, Utenti.codiceutente, Utenti.fotografia, Commenti.data, Commenti.commento FROM Commenti INNER JOIN Utenti ON Commenti.codiceutente = Utenti.codiceutente WHERE Commenti.codice = " & CInt(Request.QueryString("ID")) & " AND Commenti.voto = 0 ORDER BY Commenti.data DESC")
                    If r1.HasRows Then
                        DataList1.Visible = True
                        DataList1.DataSource = r1
                        DataList1.DataBind()
                        Label102.Visible = False
                    Else
                        DataList1.DataSource = Nothing
                        DataList1.Visible = False
                        Label102.Visible = True
                    End If
                    r1.Close()
    
                    
                    'STATO ANTEPRIMA
                    If stato <> "Attivo" Then
                        Panel2.Enabled = False
                        Panel4.Enabled = False
                        Button7.Enabled = False
                        Button5.Enabled = False
                        TextBox9.Enabled = False
                        TextBox10.Enabled = False
                        TextBox13.Enabled = False
                        DropDownList5.Enabled = False
                        Button4.Enabled = False
                        CheckBox1.Enabled = False
                    End If
    
                End If
    
            End If
    
        End Sub

  5. #5
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da martin Visualizza il messaggio
    ah ok. posto il codice allora:
    ...
    ...ora sì che è possibile indirizzarti.

    la mia sfera di cristallo mi dice che l'errore ti si presenta se richiami
    la pagina passando in querystring un ID tale che il codice non entra nel seguente blocco
    codice:
     if r1.read then
    ....
    end if
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  6. #6
    martin non è in linea Scolaretto
    Post
    172
    nulla...

    ho sistemato mettendo una variabile a false se il codice non esisteva, in modo da reindirizzarmi nel caso ad un altra pagina...

    ma mi ma sempre un errore.. ma NON SEMPRE! ma 2 volte su 3...
    In questo caso avendo gestito l'errore con il webconfig, mi rispedisce in homepage, ma nella stringa url oltre all indirizzo della home, mi aggiunge questo:

    "http://www.XXX.com/Index.aspx?aspxerrorpath=/Shop.aspx"...

  7. #7
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da martin Visualizza il messaggio
    nulla...

    ho sistemato mettendo una variabile a false se il codice non esisteva, in modo da reindirizzarmi nel caso ad un altra pagina...

    ma mi ma sempre un errore.. ma NON SEMPRE! ma 2 volte su 3...
    ...
    ...allora se l'errore è così frequente lancia l'applicazione in debug
    in modo da 'toccare con mano' il punto esatto dove si verifica il problema.
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  8. #8
    martin non è in linea Scolaretto
    Post
    172
    domanda stupida, ma è possibile "scaricare tutto" quando la pagina è stata caricata? mi spiego meglio...
    Ogni volta che la pagina ha finito il caricamento, mi deve rilasciare tutte le risorse occupate... cosa si deve eseguire, e in quale evento?

    Magari riguarda ciò..

  9. #9
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da martin Visualizza il messaggio
    domanda stupida, ma è possibile "scaricare tutto" quando la pagina è stata caricata? mi spiego meglio...
    Ogni volta che la pagina ha finito il caricamento, mi deve rilasciare tutte le risorse occupate... cosa si deve eseguire, e in quale evento?

    Magari riguarda ciò..
    non ho capito quello che dici

    Prima di tutto devi capire il motivo per cui si verifica il problema;

    è inutile procedere a casaccio perchè la stragrande maggioranza delle volte si aggiunge problema a problema

    P.S. mostra come hai gestito il redirect ad un'altra pagina se l'ID passato non genera nessun record
    Ultima modifica di sspintux; 05-07-2010 15:52 
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  10. #10
    martin non è in linea Scolaretto
    Post
    172

    Wink

    be il redirect ho messo all'interno della prima lettura una variabile booleana.
    Osssia

    codice:
    if rd.read then
               booleana = true
    else
               booleana = false
    endif

    Poi:

    codice:
    if  booleana = true then 
         continua con le istruzioni...
    else
        redirect alla homepage..
    endif

    cioè è molto semplice...
    ma il fatto è che quel codice che passo, ESISTE!
    E' sempre esistito!
    Infatti se lo copio e incollo una prima volta nella barra degli indirizzi, magari non va, ma se chiudo firefox o quello che è, e lo rincollo, funziona!

    Va ad-minchiam...

    può essere quel "If Not Page.IsPostBack Then" ???

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi