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

Discussione: Richiamare funzione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    54

    Richiamare funzione

    Ciao a tutti,

    ho sempre sviluppato pagine asp e da poco sto entrando nel mondo asp.net utilizzando c#.

    Ho una marea di dubbi e per questo sto studiando sul libro di Dino Esposito.

    Una domanda. Ho una pagina chiamata pagina.aspx e la sua classe chiamata pagina.aspx.cs
    Poi ho creato un nuovo file .cs chiamato funzioni.cs.
    All'interno di funzioni.cs ho inserito questo codice:

    Codice PHP:

    public class funzioni
    {
        public 
    void autenticazione()
        {
            if ((
    Session["autenticato"] == null) || (Session["autenticato"] == ""))
            {
                
    Response.Redirect("login.aspx");
            }
        }

    Ora nella page_load di pagina.aspx.cs vorrei richiamare la funzione autenticazione(), come faccio?

    La domanda sembrerà stupida e banale, lo comprendo, ma ringrazio chiunque mi dia una risposta...!

  2. #2
    Sono un novellino anch'io ma credo di non sbagliarmi se ti dico:
    -metti funzioni.cs nella cartella App_Code, che viene compilata per default insieme a tutto il resto del sito
    -richiamala da dove vuoi con funzioni.autenticazione()


  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    54
    Grazie mille per la risposta.

    Il problema è che inserendo:

    Codice PHP:

    protected void Page_Load(object senderEventArgs e)
        {
            
    funzioni.autenticazione();

             
        } 
    in pagina.aspx.cs, Visual Studio 2005 mi genera questo errore:

    An object reference is required for the nonstatic field, method, or property 'funzioni.autenticazione()

  4. #4
    Mah, le mie lacune iniziano ad emergere

    Cmq, visto che oggi sta sezione del forum è deserta.... riprovo io ad aiutarti.

    Prova a mettere:
    codice:
    Dim myFunctions As New funzioni 
    myFunctions.autenticazione()
    è VisualBasic, non so come si dichiari in C# ...comunque, sicuramente, tu lo sai come fare quella dichiarazione

    funzioni.cs l'hai messo in App_code, vero?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    54
    Ho risolto.

    In testa a pagina.aspx.cs ho messo

    Codice PHP:
    public partial class _pagina funzioni 
    Grazie mille per l'aiuto

  6. #6
    Figurati, peggio di così non potevo aiutarti

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da p4llm4ll
    Ho risolto.

    In testa a pagina.aspx.cs ho messo

    Codice PHP:
    public partial class _pagina funzioni 
    Grazie mille per l'aiuto
    Uhm, non vorrei guastarti l'entusiasmo, ma credo che non sia la soluzione corretta.
    In questo modo hai fatto ereditare la tua pagina dalla classe 'funzioni'.

    Il compilatore ti ha soltanto detto che ha bisogno di una istanza della classe funzioni, per riferirsi a quella function, perchè la Function 'autenticazione' non l'hai dichiarata statica (static in C# mi pare) .

    Quindi o la dichiari statica o fai come ha detto BSOD, dandogli una istanza.

    (Tanto per discutere, una funzione statica è una funzione che può essere usata direttamente nel codice, senza istanziare la classe alla quale appartiene)

    Spero di non averti incasinato le idee

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    54
    Potresti farmi un esempio pratico sull'esempio che ho proposto? Grazie mille...

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da p4llm4ll
    Potresti farmi un esempio pratico sull'esempio che ho proposto? Grazie mille...

    codice:
    public class funzioni
    {
        public static void autenticazione()
        {
            if ((Session["autenticato"] == null) || (Session["autenticato"] == ""))
            {
                Response.Redirect("login.aspx");
            }
        }

    che usi dal tuo codebehind con:
    codice:
        private void Page_Load(object sender, System.EventArgs e)
        {
    	funzioni.autenticazione();
        }
    http://msdn2.microsoft.com/it-it/library/98f28cdx(VS.80).aspx

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    18
    Se la void o la function è STATIC allora devi inserirla in una struct non un class...

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.