Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    è possibile passare parametri a un ascx?

    Salve, in diverse pagine asp.net richiamo un ascx. Sarebbe importante passargli oltre all'url dello stesso, un parametro che indichi da quale pagina è stato richiamato.

    Es.

    <%@ Register src="~/CDBText.ascx" tagname="cerca" tagprefix="uc1" %>
    Se all'attributo src volessi passargli un parametro, ad esempio: src="~/CDBText.ascx?utente=pippo", va in errore il codice.

    Come potrei fare?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    un controllo ascx non è altro che una classe. Basta creare le proprietà che servono e valorizzarle da codice.
    In alternativa si possono valorizzare anche nell'html:
    eseempio:

    <uc1:miocontrollo ID="zzz" runat="server" mioparametro="xxxx" />
    Pietro

  3. #3
    "mioparametro" lo riprendo nel load dell'ascx?

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    è una property della tua classe. Lo puoi valorizzare come ti ho detto nella pagina o, meglio, da codice, nell'evento load della pagina
    Pietro

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
     public partial class CDBText: System.Web.UI.UserControl
     {
            public String mioparametro { set; get; }
            ...
     }

    Nel Page_Load puoi scrivere: this.mioparametro

  6. #6
    purtroppo non ho dimestichezza con gli ascx. Una domanda: in set/get cosa dovrei metterci?

    Nel mio caso a seconda della pagina aspx dalla quale richiamo l'ascx devo passare in "mioparametro" il nome della tabella sulla quale effettuare operazioni.

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Non devi metterci nulla, e' il nuovo modo di scrivere le proprieta'.

    Devi fare una istanza della classe del tuo UC e passarle le proprieta'.
    Oppure, modo piu' semplice, passarlo dall'HTML come diceva Pietro.

    Non so se si puo' fare
    codice:
    <uc1:miocontrollo ID="zzz" runat="server" mioparametro="<%= variabile PUBLIC lato server %>" />
    


    , prova.
    Ultima modifica di djciko; 18-12-2015 a 13:46

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.