Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151

    Passaggio controlli tra classi

    Salve,
    ho questa classe in un file .cs, code behind di una pagina aspx

    codice:
    public class Uffici:System.Web.UI.Page
    {
    		protected Label lblComune;
    		protected Image imgGonfalone;
    		protected Label lblData;
    		protected Label lblOperatore;
    		protected DataGrid dgUffici;
    		protected String regione;
    		protected String provincia;
    		
    		
    		protected void Page_Load(object sender, EventArgs e)
    		{
    			
    			if (HttpContext.Current.Session["Authenticated"]!="True")
    			{
    				HttpContext.Current.Response.Redirect("errore.aspx");
    			}
    			else
    			{
    				OleDbConnection myconn=new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_STRING_SUAP"]);
    				String sqltxt="Select * from Sportelli where id=@idsportello";
    				OleDbCommand mycomm = new OleDbCommand(sqltxt,myconn);
    				mycomm.Parameters.Add("@idsportello",OleDbType.Integer);
    				mycomm.Parameters["@idsportello"].Value=(int)HttpContext.Current.Session["Sportello"];
    				try{
    					myconn.Open();
    					OleDbDataReader myreader=mycomm.ExecuteReader();
    					if (myreader.Read()){
    						lblComune.Text=myreader["Comune"].ToString();
    						provincia=myreader["prov"].ToString();
    						regione=myreader["regione"].ToString();
    						lblData.Text=DateTime.Now.ToLongDateString();
    						lblOperatore.Text=HttpContext.Current.Session["Nome"].ToString()
    + " " + HttpContext.Current.Session["Cognome"].ToString();
    						myreader.Close();
    					}
    				}
    				finally{
    					myconn.Close();
    				}
    
    // Codice specifico della pagina
    }
    che valorizza alcune label nella pagina aspx
    Essendo questo codice uguale per molte pagine vorrei metterlo in una classe a parte precompilata in una dll da utilizzare quando serve.
    Però non riesco a fargli riconoscere le Label presenti nella pagina aspx ottenendo un errore "Riferimento a un oggetto non impostato su un'istanza di oggetto".
    Come posso fare a passrgli questi controlli?

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Nessuno mi può dare un aiuto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    54
    ti suggerirei di fare una procedurina che prende in ingresso una Label e la modifica, del genere:


    private void cambiaContenutoLabel(ref Label miaLabel)
    {
    miaLabel.Text="Mio Testo";
    miaLabel.ProprietaGenerica = nuovoValore;

    }

    così facendo la label in ingresso (che esiste nella pagina asp.net) verrà modificata secondo la logica che deciderai

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Se dovessi modificare una sola label, potrei utilizzare il tuo suggerimento.
    Ma ci sono più di una label nella pagina e potrei aver bisogno di aggiungerne altre

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Ho risolto, cercando nel forum leggendo anche esempi in vb.net.
    Spiego per chi avesse un problema simile.

    Nella classe comune ho creato il metodo

    Controlla(String Livello, Page sender)
    e con l'oggetto sender mi trovi le varie label della pagina es:
    Label lblSportello=(Label)sender.FindControl("lblSportel lo")

    e nel page_load del code-behind della pagina metto la chiamata

    Librerie.Controlla("Amministratore",this)

    se a qualcune può servire posso inviare del codice più esplicativo.

    Alla prossima.

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.