Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    2

    Primo problema in ASP:NET:Perdita istanza oggetto

    Ciao a tutti, premetto che vivamente che sono un novello di ASP.NET e qualsiasi cosa abbia a che fare con il web development.
    Iniziando a mettere mani sui primi progettini giusto per capire come funzionano le cose mi trovo ad affrontare il mio primo piccolo problema.
    allora io ho un webform a cui è associato il relativo file di codice VB.NET
    la pagina è composta da una testbox e 2 pulsanti.
    nel codice inizio a dichiararmi il mio oggetto:

    codice:
    Imports LTTS7Lib
    Imports LTTS7SAPI5Lib
    
    Partial Class _Default
        Inherits System.Web.UI.Page
        Private objLTTS As LTTS7
    nel Page_Load lo istanzio:
    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                objLTTS = New LTTS7
            End If
    End Sub
    Perché quando premo un bottone in cui mi serve settare una variabile dell'oggetto mi dice che l'oggetto è nullo? Da debugging vedo che ogni volta che premo un bottone si ripete la dichiarazione e poi logicamente mi richiama il page_load dove per il PostBack impedisce la creazione dell'oggetto.
    Grazie a chiunque mi aiuti ad accettare ad imparare questo linguaggio

  2. #2
    Ad ogni PostBack l'oggetto viene ricreato .... se vuoi una visibilità Globale, puoi dichiararlo all'interno di un File Global.asax .... se vuoi avere una variabile a livello di classe valida per tutta la sessione, puoi semplicemente dichiararla Shared(Static in C#)

    Facci sapere...
    Ciao

  3. #3
    Come ha detto Jeremy75 ad ogni postback gli oggetti vengono ricreati. Per renderli persistenti puoi servirti dell'oggetto Session e dell'oggetto Application. Entrambi sono collezioni di oggetti identificati con una chiave, la differenza è a livello di visibilità: Session riguarda il singolo utente, Application è condiviso tra tutti gli utenti che usano l'applicazione web.

    codice:
    Dim objLTTS As LTTS7
    
    'crei l'oggetto o lo recuperi da Session
    If Me.IsPostBack Then
       objLTTS = CType(Session("ltts"), LTTS7)
    Else
       objLTTS = New LTTS7
    End If
    Chi non cerca trova.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    2

    Strepitosi..

    Ragazzi che dire siete strepitosi!!!
    Ne approfitto per una altra cosa:
    devo settare un valore al click sull'immagine che possa essere usato nel codice vb.net.

    Allora nella mia pagina ho un immagine html che cambia quando passo il mouse sopra:

    codice:
        <script language="javascript" type="text/javascript">
    
    
                function SettaVariabile() {
                    'SCRIVI VARIABILE
                }
    
        </script>
    
            [img]Immagini/Star_Nera.gif[/img]

    nella funzione Load della pagina devo leggerla:

    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'LEGGI VARIABILE
        End Sub
    Siete veramente di aiuto!


    PS: SE VOLESSI INVECE CHIAMARE UNA FUNZIONE VB.NET AL CLICK DELL'IMMAGINE?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.