Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96

    variabile "globale" nel global.asax

    Ciao, ho un problema con la mia applicazione: ho una serie di variabili che mi servono in ogni pagina della mia applicazione, ciò nonostante vorrei evitare di mettere un include in ogni pagina.
    Io pensavo di definirle nel global.asax, in modo da averle sempre disponibili, però mi dà errore se tento di dichiararle.

    Sto andando nella direzione giusta o c'è un modo completamente diverso per farlo? Se sto andando nella direzione giusta qualcuno sa indicarmi la sintassi?

    Ringrazio anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    60
    se stai sviluppando in c# basta che chiami:

    Global.nomevariabilepublic

    se invece usi vb.net e scopri come fare dillo anche a me perchè ho il tuo stesso problema...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96
    purtroppo sviluppo anch'io con VB.NET

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Puoi metterla nel web.config come application key

    <appSettings>
    <add key="nonevariabile" value="valore" />
    </appSettings>

    e richiamarla con

    System.Configuration.ConfigurationSettings.AppSett ings("nomevariabile")

  5. #5
    Nel codebehind del global.asax dichiari una variabile pubblica


    Public Class Global
    Inherits System.Web.HttpApplication
    Public KalmanGlobal As String

    Nella pagina dove devi utilizzarla

    Dim g As New Global
    g.KalmanGlobal = ""


    Fammi sapere
    Ciao
    Kalman
    Kalman

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96
    Mmh, non capisco cosa intendi... potresti spiegarti meglio? Non sono propriamente un esperto di ASP.NET
    Thanks

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96
    Originariamente inviato da hankmccoy
    Puoi metterla nel web.config come application key

    <appSettings>
    <add key="nonevariabile" value="valore" />
    </appSettings>

    e richiamarla con

    System.Configuration.ConfigurationSettings.AppSett ings("nomevariabile")
    la tua idea funziona, però ho un problema: una delle mie variabili contiene un "" che, per il web.config che è un albero XML, dà un errore di tipo --> undeclared parameter entity, 'nbsp'
    Come posso ovviare al problema...?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151

    In questo non so aiutarti.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96
    Sto iniziando a pensare che in realtà sia qualche problema delle impostazioni del mio PC...

    Ora ho creato un esempio da zero costituito da due file molto semplici, il global.asax con dentro le variabili "globali" ed il file che le dovrebbe recuperare "prova.aspx".

    Ecco il codice del global.asax:

    <%@ Import Namespace="System.Web" %>
    <%@ Import Namespace="System.Web.SessionState" %>
    <%@ Import Namespace="System.Data.OleDb" %>

    <script runat="server">

    Public Class Global
    Inherits System.Web.HttpApplication

    Private Shared _totalNumberOfUsers As Integer = 0
    Private Shared _currentNumberOfUsers As Integer = 0

    Public Shared ReadOnly Property TotalNumberOfUsers() As Integer
    Get
    Return _totalNumberOfUsers
    End Get
    End Property

    Public Shared ReadOnly Property CurrentNumberOfUsers() As Integer
    Get
    Return _currentNumberOfUsers
    End Get
    End Property

    End Class
    </script>


    questo invece è il codice della pagina prova.aspx:

    <script runat="server">
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim currentNumberOfUsers As Integer = Global.CurrentNumberOfUsers
    Dim totalNumberOfUsers As Integer = Global.TotalNumberOfUsers
    End Sub
    </script>
    <html>
    <head><title>HitCounter</title></head>
    <body>
    <asp:label id="lblTotalNumberOfUsers" runat="server"/>


    <asp:label id="lblCurrentNumberOfUsers" runat="server"/>
    </body>
    </html>

    Non riesco proprio a capire perchè mi dia questo errore:
    --> Nome 'Global' non dichiarato.

    sulla riga --> Dim currentNumberOfUsers As Integer = Global.CurrentNumberOfUsers

    Sono disperato, è mezza giornata che ci provo

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    96
    Originariamente inviato da hankmccoy

    In questo non so aiutarti.
    no problem, posso fare a meno delle referenze a identità
    Ah, un'ultima cosa, sai dirmi però come faccio ad impostare il tipo delle variabili se faccio il tutto (come mi hai suggerito) nel web.config? Da come vengono settarte sembrano essere tutte stringhe...?

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.