• User

    [ASP.NET] Da Oggetto Commerciale a Form...

    Salve,
    ho questo problema che potrebbe sembrare stupido, ma proprio non ci riesco.
    Lavoro con una struttura di pagine ASPX fatta così:

    MasterPage (modello)
    |_ Pagina aspx (sullo stile della masterPage)
    |_ controllo utente
    |_ code behind controllo utente
    |_ Oggetto Commerciale
    (classe personalizzata Form_Utility non derivata da nulla)

    Ho necessita' di arrivare dall'oggetto Commerciale al contenuto del controllo utente, cioè in pratica fare un FindControl o qualcosa di simile sulla pagina che si carica per controllare se un controllo con nome x esiste e se si gli assegno un valore.

    Se faccio tutto dal code behind del controllo utente è facile perchè il webcontrol deriva dalla pagina, quindi scrivendo semplicemente

    
    Me.FindControl(ControllodaCercare)
    
    

    trovo quello che mi serve.

    Come si può fare la stessa cosa dall'oggetto commerciale? E' una procedura che mi servira' in + parti quindi preferisco metterla lì.

    Grazie x la pazienza.


  • User

    Facciamo la cosa più semplice, togliendo chiacchiere inutili:
    Come posso fare una classe personalizzata (business Object) che derivi da un Controllo Utente.
    Ho provato a far derivare la classe da System.Web.UI.UserControl, ma cmq non vedo alcun riferimento al controllo....
    mah:bho:


  • User

    dopo qualche ricerca mi sembra di aver capito qualcosa...

    scenario:
    uc1.ascx
    uc1.ascx.vb
    myclass.vb

    se volessi far derivare la mia classe dovrei fare
    in uc1.ascx.vb

    partial class uc1 : inherits myclass
    

    in myclass.vb

    public class myclass : inherits System.web.ui.UserControl
    

    Il problema se ho capito bene è che c'è di mezzo la Master Page....
    Continuo nella ricerca...
    se qualcuno sa darmi una delucidazione in merito è gradita.
    Grazie


  • Moderatore

    Forse potresti scambiare informazioni tra il business object ed il form tramite variabili si sessione.

    All'interno della classe business puoi accedere alle Sessione tramite:

    System.Web.HttpContext.Current.Session("...")

    :ciauz:


  • User

    Ci avevo pensato, il problema è che alla classe in questione passo una cifra di dati, compreso oggetti...
    In pratica, siccome sono una capra a lavorare con i dataset (non li ho ancora capiti a fondo) ho fatto una classe che prende la struttura del db, la compara con il form ed **associa facendo i casting **opportuni i valori db sui control nella pagina; inoltre ha anche dei metodi update, delete ed insert che generano l'sql relativo.
    Un po quello che fanno i DataSource ma con i DataReader...

    Le funzioni di generazione sql stanno in un B.O. esterno a cui passo i valori Form, quindi non interagiscono in realtà con i Web Control.

    La funzione che si occupa della **associazione valore Db -> web Control **la devo lasciare nella pagina, perchè non riuscendo a derivare il mio user control a nessuna classe esterna mi da errore quando faccio un qualsiasi FindControl (non ci sono i controlli nella classe.. almeno vedendo nel debug...)

    Comunque, grazie Paocavo per la risposta. Se ti viene in mente qualcos'altro fammi sapere, tanto sono arenato al momento. :arrabbiato: