Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    Eseguire metodo in automatico dopo istanziazione

    Creando una classe è possibile fare in modo che questa esegua un metodo nel momento stesso in cui viene istanziata?

    Chiedo questo perché vorrei richiamare una classe come fosse un controllo utente, e fare in modo che stampi del codice HTML.

    Per es.

    codice:
            <%@ Register TagPrefix="TEST" Namespace="NomeSpazio"  %>
    
    
            
    
    	<form runat="server">
    	<TEST:nomeclasse runat="server" />
            </form>
    Devo forse ereditare qualcosa da System.Web?

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Stavo pensando di ereditare System.Web.UI.WebControls.Literal e di popolarlo con codice HTML.
    Sono vicino alla soluzione? :master:

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Ci sono !
    Come al solito è l'uvo di Colombo.

    Esempio semplicissimo di classe in C#

    codice:
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    
    namespace MioNamespace
    {
    
    	public class test : System.Web.UI.Page
    	{
    	
    		protected override void OnLoad(EventArgs e)
    		{
    		
    			HttpContext.Current.Response.Write("ciao");
    		
    		}
    		
    	
    	} // class
    	
    } // namespace
    Integrazione nella pagina aspx

    codice:
    <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
    
    <%@ Register TagPrefix="TEST" Namespace="MioNamespace"  %>
    
    
    
    		
    <TEST:test  runat="server" />
    Ovviamente sono ben accetti suggerimenti.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    per una cosa del genere di solito si chiama il metodo nel costruttore:

    codice:
    Public sub New()
     NomeMetodo(Parametri)
    End Sub

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da djciko
    per una cosa del genere di solito si chiama il metodo nel costruttore:

    codice:
    Public sub New()
     NomeMetodo(Parametri)
    End Sub
    Grazie mille!
    Effettivamente così è ancora meglio

    codice:
    using System;
    using System.Web;
    
    namespace MioNamespace
    {
    
    	public class test_secondo
    	{
    	
    				
    		public test_secondo()
    		{
    		
    			HttpContext.Current.Response.Write("Ciao. Questo meglio!");
    		
    		}
    		
    	
    	} // class
    	
    } // namespace
    L'unica differenza è che in questo modo il testo viene stampato all'inizio della pagina e non dove il controllo è posizionato. Tuttavia credo di risolvere ereditando un controllo Literal e popolandolo con il costruttore.

    Grazie ancora!

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ma la classe dove chiami il metodo nel new e' la classe di uno UserControl ?

  7. #7
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da djciko
    ma la classe dove chiami il metodo nel new e' la classe di uno UserControl ?
    No. Però vorrei che si comportasse come un userControl, ovvero che stampi del codice HTML nel punto esatto della pagina in cui lo posiziono.

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    forse stai facendo una cosa facile in modo complicato.

    cosa devi fare, esattamente ?

  9. #9
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Originariamente inviato da djciko
    forse stai facendo una cosa facile in modo complicato.

    cosa devi fare, esattamente ?
    In parte è così, nel senso che per fare quello che mi occorre è spesso sufficiente ricorrere ad un semplice controllo utente. Tuttavia stavo sperimentando la possibilità di scrivere tutto il codice in una classe compilata, così da non renderla accessibile.

    A questo punto mi chiedo, è possibile compilare un controllo utente, inserirlo nella directoy Bin e richiamarlo come negli esempi sopra indicati?

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    mi sa che djciko ha centrato il problema

    certo che lo puoi fare, ma non si chiama controllo utente, bensì controllo personalizzato (quelli compilati, per intenderci )
    Pietro

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.