Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    Accedere ad una label in un controllo utente

    Ciao a tutti,
    ho letto qualche post ma non ci ho capito nulla... come faccio ad accedere alla proprietà text di una label contenuta in un controllo utente dalla pagina che lo contiene?
    Grazie Elisa

  2. #2
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Dal controllo utente, esponi una proprietà che faccia da "ponte" tra l'esterno e il controllo contenuto che vuoi modificare.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    mi aiuti a capire meglio? (scusami ma sono ignorante in merito...)

  4. #4
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Si, allora. Nel tuo controllo utente hai un'istanza privata che fa riferimento alla label, giusto? Ok, devi creare una property che faccia da tramite tra le proprietà della label (che è privata, e non visibile dall'esterno) e la pagina (che vede le proprietà del controllo utente, non dei controlli contenuti).

    Quindi, mettiamo che la label è lblLabel

    codice:
    Public Property LabelTitle() As String
            Get
                Return lblLabel.Text
            End Get
            Set(ByVal Value As String)
                lblLabel.Text = Value
            End Set
        End Property
    HTH, tK

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    mmm capito... cosa nuova... mai fatta...

    Ora provo e ti faccio sapere, grazie.

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Mi sa che mi perdo qualcosa per strada!

    Dunque, nel mio controllo utente c'è: Public Class login : Inherits System.Web.UI.UserControl..... ecc....

    Poi ho creato la property come mi hai suggerito.

    Nella pagina aspx, invece, il controllo utente è inserito e ha id=Login1. Nel codebehind della pagina ho messo:
    Protected WithEvents Login1 As Login
    .....
    Login1.LabelTitle = "..."

    Uso VS per cui quando ho scritto Login1. e ho visto che ricosceva LabelTitle pensavo di essere sulla buona strada... e invece no!

    Se mando in esecuzione mi dice:
    Tipo 'login' non definito.

  8. #8
    Utente di HTML.it L'avatar di tekanet
    Registrato dal
    Oct 2001
    Messaggi
    300
    Senza la sezione della property il controllo va? Fallo funzionare prima senza questa funzione, poi aggiungila. L'errore non mi sembra correlato con l'uso della property, così a occhio..

    tK

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    si certo prima che aggiungessi la funzione, scusa il gioco di parole, funzionava!

    Cmq l'errore è riferito alla riga Protected WithEvents Login1 As Login del codebehind della pagina aspx, non del controllo. Ma la strada giusta è quella che o seguito? Va bene come l'ho dichiarato nella pagina per accedere a LabelTitle?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    L'errore è cambiato!

    Dunque, nel codebehind della pagina ho messo al posto di
    Protected WithEvents Login1 As Login

    Public Login As New login

    Poi, nel codebehind del controllo il valore della stringa che passo dalla pagina arriva però adesso mi da il seguente errore su lbErrore.Text = Value:
    Riferimento a un oggetto non impostato su un'istanza di oggetto.

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.