Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    riferire la classe generata da una pagina...

    Sono stato in seria difficoltà a scrivere persino il titolo, figuriamoci il resto...
    Dunque...

    Se io creo, e faccio "girare" una pagina "pippo.aspx" viene generata, in automatico, una classe pippo_aspx, giusto?

    Orbene: Come posso riferire questa classe? Dove sta?

    Non so, esisterà un percorso del tipo:

    System.Web.cazzabubbolo.pippo_aspx

    .. no?

    Spero che qualcuno possa darmi una mano... è molto importante.

    Grazie,
    Francesco.
    Lupo
    ----

  2. #2
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    In genere, con Visual Studio ad esempio, viene creato un namespace di primo livello (equivalente a System, come nidificazione: primo livello) in cui sono collocate le classi di codebehind della tua applicazione. Dopo la compilazione, nella directory bin\ dell'applicazione, viene generata una dll con il nome di questo namespace.

    Ricapitolando, ho l'applicazione Tekanet, creo delle pagine: Default.aspx, Pagina2.aspx, i cui codici risiedono nel namespace Tekanet (e sono quindi qualificati come Tekanet.default, Tekanet.Pagina2). Compilo. Viene creata una dll con nome file Tekanet.dll, contenente il codice in IL.

    HTH, tK

  3. #3
    prima di ogni altra cosa: grazie!

    secondo: io non uso Visual Studio... improponibile... troppo caro.
    uso sharp develop, per la cronaca...

    Non creo, quindi, applicazioni con visual studio...
    Lo spazio dei nomi all'interno del quale vengono poste le pagine è "ASP", a quanto mi è dato di vedere.

    data una pagina pippo.aspx

    il sorgente è una roba del tipo:
    codice:
    namespace ASP {
    
    Riga 12:       using [cazzabubboli vari];
    [...]
    
    Riga 27:       using ASP;
    [...]
    Riga 34:       public class pippo_aspx : System.Web.UI.Page, System.Web.SessionState.IRequiresSessionState {
    Riga 35:           
    Riga 36:           private static int __autoHandlers;
    Riga 37:           
    [bla, bla, bla]
    }
    non riesco, però, a riferire il namespace ASP...

    ho tentato ASP.pippo_aspx, ma lo spazio dei nomi ASP pare risultare alquanto sconosciuto...

    :master:
    Lupo
    ----

  4. #4
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Cosa intendi per "riferire"? In che caso/contesto ti serve rintracciare quella classe? Lo chiedo perchè magari è un problema risolvibile in altro modo..

    tK

  5. #5
    sssii... ci proverò...
    Dunque, vediamo... si tratta di questo:

    in ossequio al principio di separazione del codice la pagina pippo.aspx è così concepita:
    codice:
    <script language="c#" src="globalSettings.cs"></script>
    <script language="c#" src="pippo.aspx.cs"></script>
    <html>
    [bla/] [bla/] [bla/]
    </html>
    nel globalSettings.cs ci stanno tutti i necessari parametri fi configurazione del sito (e-mail, radice del sito, stringa di connessione al db, ecc).
    nel pippo.aspx.cs ci sta il codice necessario al funzionamento della pagina.

    ora... per far funzionare l'intellisense con lo strumento che uso io, lo sharp develop, devo scrivere il codice di pippo.aspx.cs in questo modo:

    codice:
    public class index_class
    {
    	public string lang = "";
    	
    	global_settings mySettings = new global_settings();
    	gen_func myFunc = new gen_func();
    	System.Web.UI.Control myCtrl = (System.Web.UI.Control) System.Web.HttpContext.Current.Handler;
    	
    	public void get_page() {
    		
    	}
    	
    }
    
    protected void Page_Load(Object sender, EventArgs e) {
    	index_class page_ist = new index_class();
    	page_ist.get_page();
    }
    è, naturalmente, un modo stupido di lavorare, ma è l'unico compromesso che sono riuscito a trovare per sviluppare applicazioni web con lo sharp develop (che è nato con tutt'altri obbiettivi).

    Qual'è il punto? Il punto è che all'interno della funzione get_page debbo essere in grado di manipolare gli oggetti lato sever della pagina...
    Ad esempio, se nella pagina è definito un oggetto
    <asp:Label id="pippo_label" CssClass="ver10B" Text="" runat="server"/>
    vorrei poter essere ingrado di manipolarlo e, nello stesso tempo, accedere alle sue proprietà mediante l'intellisense che mi fornisce lo sharp develop.

    sarebbe bello, pertanto, poter accedere alla proprietà Text dell'oggetto (ad esempio) utilizzando, che so, una gerarchia di oggetti come questa:
    codice:
    ASP.pippo_class.pippo_label.Text = "ciao, Pippo";
    invece non riesco a "trovare" il namespace ASP e sono costretto ad aggirare l'ostacolo in questo modo:

    codice:
    System.Web.UI.Control myCtrl = (System.Web.UI.Control) System.Web.HttpContext.Current.Handler;
    System.Web.UI.WebControls.Label g_pippo_label = ((System.Web.UI.WebControls.Label)myCtrl.FindControl("pippo_label"));
    g_pippo_label.Text = "ciao, Pippo";
    Spero di essere stato abbastanza chiaro. In ogni caso ti ringrazio ancora per l'attenzione e l'aiuto.

    Francesco.
    Lupo
    ----

  6. #6
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Il tuo approcio esce dagli schemi studiati per lo sviluppo .Net, a mio modesto avviso. La separazione del codice, per come la interpreti, non è propriamente ciò che la programmazione ad oggetti predica.

    In ogni caso, potresti considerare l'uso di WebMatrix (free) per lo sviluppo di webapp .Net

    tK

  7. #7
    Si, hai ragione, sono il primo a riconoscerlo...
    Purtroppo non esistono strumenti free per sviluppare applicazioni web con le .net e bisogna arrangiarci con quel che si ha.
    Il web Matrix l'ho anche provato ma, a mio avviso, è una cakata pazzesca..
    A parte il fatto che manca lo strumento dell'intellisense, c'è la rottura che si ostina a cambiarmi il codice come pare a lui...
    boh... prima o poi bisognerà mettersi le mani in tasca e pagare il dazio allo zio Bill!

    Ti ringrazio, comunque.
    Sei stato gentilissimo.
    Lupo
    ----

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.