Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Variabili User Control

  1. #1
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154

    Variabili User Control

    Ciao, devo passare una variabile da aspx ad un link in un ascx;

    ASPX:
    dim nomefile as string="pippo.htm"

    Dim myUC As Footer
    myUC = CType(Me.FindControl("Footer"), Footer)
    myUC.testolink = nomefile

    footer.ascx

    <a id="Xhtml" runat="server">

    nel CB di footer.ascx dovrei inserire qualcosa tipo

    Me.Xhtml.Attributes.Add("href", nomefile)


    in

    Public Property testolink() As String
    Get

    End Get
    Set(ByVal value As String)

    End Set
    End Property


    ma fallisco miseramente....

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Onestamente, non ho capito una "cippa".

    Prova a spiegare cosa devi fare nei termini di quello che vuoi ottenere o che ti è stato richiesto.
    Magari esiste una soluzione migliore per risolvere il problema che potrebbe anche essere differente da quella che hai adottato e che non sono riuscito a comprendere.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ehm scusa...
    dicevo: devo passare unvariabile da una pagina aspx ad uno user control, o meglio ad un hiperlink che è in uno user control; ho risolto cosi, mi dite che ne pensate?
    page.aspx
    Codice PHP:
    dim miavariabile as string ="pippo.htm"
    Dim myUC As Footer
    myUC 
    CType(Me.FindControl("Footer"), Footer)            
    myUC.testolink miavariabile 
    footer.ascx
    Codice PHP:
    <a id="Xhtml" runat="server">
    ....
    Public 
    Property testolink() As String
    Set
    (ByVal value As String)
    Me.Xhtml.Attributes.Add("href"value)
    End Set
    End Property 
    Avete suggerimenti in merito?

    Grazie in anticipo

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    si, credo sia meglio fare un <asp:hyperlink> e settare il suo NavigateUrl.
    Inoltre, i proxy per le proprieta' dovrebbero agire su proprieta' Private interne...

    cioè:


    .vb

    codice:
    Private _testolink as string
    Public Property testolink() As String
    Set(ByVal value As String)
       Me._testolink = value
    End Set
    End Property
    
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Me.xhtml.NavigateUrl = _testolink
    End Sub
    .aspx
    codice:
    <asp:hyperlink id="xhtml" runat="server" />

  5. #5
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    Inoltre, i proxy per le proprieta' dovrebbero agire su proprieta' Private interne...
    Ciao e grazie per la risposta, ma avrei due domande:la prima è di spiegarmi la frase di cui sopra; la seconda è cosa dovrei indicare nel
    Codice PHP:
    Get
    ...
    End Get 
    perchè in ogni caso lo richiede.
    Grazie in anticipo!!!

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da tyson69
    Ciao e grazie per la risposta, ma avrei due domande:la prima è di spiegarmi la frase di cui sopra; la seconda è cosa dovrei indicare nel
    Codice PHP:
    Get
    ...
    End Get 
    perchè in ogni caso lo richiede.
    Grazie in anticipo!!!

    nel Get dovrebbe esserci: Return Me._testolink

    Per il set delle variabili private intendo che in una classe è buona norma agire (dall'esterno) sulle Public Property in modo però che esse fungano soltanto da "proxy", cioe' da intermediarie, per settare le variabili che poi in realta' sono usate nella classe (protette dal livello di accesso "Private").
    Ti chiederai giustamente perche'...La risposta e' semplice: la proprietà pubblica, nei due costrutti Get e Set, deve avere la possibilità di manipolare il valore in entrata ed uscita, per eventuali esigenze di elaborazione interne alla classe oppure per darla al mondo esterno con una formattazione particolare.

    PS: Il Get non e' obbligatorio. Puoi usare:

    codice:
    Public WriteOnly Property
    e
    Public ReadOnly Property
    per creare le proprietà rispettivamente in sola scrittura (poco usato a dire il vero) e sola lettura.
    Alla pressione del tasto invio VS costruisce la struttura mettendo soltanto Set o Get...

  7. #7
    Utente di HTML.it L'avatar di tyson69
    Registrato dal
    Jan 2005
    Messaggi
    154
    ah però.... ci ragionerò su un momentino....


    nel frattempo, se posso ancora:
    Originariamente inviato da djciko
    si, credo sia meglio fare un <asp:hyperlink> e settare il suo NavigateUrl.
    Inoltre, i proxy per le proprieta' dovrebbero agire su proprieta' Private interne...
    cè qualche motivazione per la quale conviene utilizzare sa soluzione di cui sopra rispetto ad usare un normale hiperlynk ed accesere alle sue proprietà con
    codice:
    Me.Xhtml.Attributes.Add("href", "....")
    Ciao e grazie ancora!

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    beh, nessuna in particolare...pero' esistendo un tag lato server credo sia piu' comodo usare quello, anche per implementazioni future...

    accedere ad un tag lato client costringe sempre a qualche giro in più...

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.