Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730

    User control spiegazioni

    Ciao a tutti, sto studiando gli user control, e sto costruendo un semplice control che effettua il login di un utente con username e password.
    Siccome penso di star a fare 1 gran casino.....chiedo
    Volevo passare al controllo, di volta in volta la stringa del database da utilizzare....ed ho creato questa proprietà appositamente:

    codice:
    private string Percorso;  
    public  string PathDatabase
    {
    get{return Percorso;}
    set{Percorso = value;}
    }
    poi nel submit riprendo cosi:

    codice:
    OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source="+this.PathDatabase);
    e nella pagina aspx che contiene lo usercontrol
    setto la proprietà in questo modo:

    codice:
    Prova myCt = new Prova();
    myCt.PathDatabase=Server.MapPath("/mdb-database/Articoli.mdb");

    ma nn mi funziona il pathDatabase mi rimane nullo.....
    mi spiegate per favore...

    grazie delle cortesi risposte

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Se vuoi che la proprietà persista ad ogni Postback, devi salvarla nel ViewState.
    Esempio:

    codice:
    Public Property Percorso as String
    Get
      Return DirectCast(ViewState("Percorso"), String)
    End Get
    Set(ByVal Value as String)
      ViewState("Percorso")=Value
    End Set
    End Property
    Ciao, javalon

  3. #3
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    ho provato ma mi da.....
    sulla riga:

    return ViewState["Percorso"].ToString();

    Riferimento a un oggetto non impostato su un'istanza di oggetto.


    oltre a questo...è giusta come logica?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    99
    Io farei diversamente cioè questo:

    Ti crei un classe Chiamata Dichiarazioni(se nn sai come fare dimmelo)


    all interno fai questo;


    codice:
    Public Class Dichiarazioni
    'Cosi la puoi utillizare per fare + dichiarazioni quando ti servono
    
        Private sConnDB As String
    
    
        Property ConnDB() As String
            Get
                ConnDB= sConnDB
            End Get
            Set(ByVal sValue As String)
                sConnDB= sValue
    
            End Set
        End Property
    
    
    
        Public Sub New()
            sConnDB = ""
        End Sub
    End Class
    
    'Ok ora che sia qui
    'Ti fai un classe chiamata Clclasse o altro decidi tu
    Public Class Clclasse
    
    
    Public Sub New()
            Initialize()
        End Sub
    
    
      Public Sub Initialize()
    
    Dim oElement As New Dichiarazioni
          
    oElement.ConnDB = "metti il valore che deve avere"
    
    'qui volendo potresti fare direttamente la conessione al db
    '
    'connesione al db      
     
    '
    End Sub
    
    end class
    
    'Poi nella tua page load della pagina 
    
    Dim oState as  Clclasse
    oState= new oState
    
    
    'quando fai questo li entra in  Public Sub New() della classe  'Clclasse e fa il Initialize()
    'Comunque utilizza il debug cosi vedi bene come funziona
    'spero di essere stato utile e fammi sapere  :ciauz:

  5. #5
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    si cosi utilizzando una classe, perfetto
    molto, molto comodo grazie!!

    ma io volevo sapere se utilizzando uno user control potevo fare una cosa simile, cioè; come mai nn mi vede la dichiarazione del percorso che faccio tramite set e get in pratica....

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    99
    spiegami meglio cioè tu hai creato un usercontrol giusto?
    probabilmente sarà quello di login e password?

    giusto?

    be richama la funzione come ti ho fatto vedere io dal tuo user control

    poi ti consiglio di fare anche un altra
    cosa

    se hai funzioni di Update , Modifica lettura..
    ti crei un bel Modulo e le metti li magari

    del tipo


    function Modifica(byVal Sql as string) as Dataset

    'Qui metti il codice per fare la conessione

    'Ogni volta passi un Stringa diveras di sql cosi la funziona la puoi utilizzare per + cose nel tuo sito
    e poi

    return(ds)
    fai ritornare il dataset o oggetto che ti serve

    end fuction

    Esempio: Vuoi Popolare un Datagrid?

    nel page load del sito richiami la funziona passandogli la stringa Sql , lei ti ridarà un dataset e questo lo metti come datasource del tuo datagrid

    Dim ds as dataset
    ds= Modifica("Select * from Pippo")
    datagrid.source= ds
    e il gioco è fatto


    Un altra cosa.Le stringa di connessioni io nn le farei tanto con property


    Module Dichiarazioni
    Public Const SConn = "Stringa di connessione"
    End Module

    cosi faccendo ha la tua stringa di conn visbile ovunque e quando ti serve per connetteri basta che usi SConn

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    99
    ps se vuoi posta la pagine che fai cosi vedo magari di darti un mano

  8. #8
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    ti ringrazio
    ho capito
    ho richiamato la funzione dallo user control e funziona alla grande
    per il resto grazie ancora
    adesso provo!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    99
    se hai problemi o altro cose da chiederemi scrivimi pure sulla mia email

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    111
    Rispondo a quello che mi hai chiesto
    L'errore che ti dà è dovuto al fatto che ti occorre un controllo sul fatto che il percorso sia siato precedentemente memorizzato nel viewstate.
    Quindi nella Get:

    codice:
    If ViewState("Percorso") Is Nothing Then
      Return String.Empty
    Else
      Return ViewState("Percorso").ToString
    End If
    ciao, javalon

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.